0

我正在编写 C89、C90、Ansi-C 代码。我的一个函数需要一个结构作为参数。我想使用该结构的初始化来调用该函数,而不是先创建一个结构然后将其传递给该函数。

以下是一些有效的片段。

typedef struct {
    char* EventName;
    char* Message; 
} Event;

Event myEvent = {
    .EventName = "infomessage", 
    .Message = "Testmessage"
};

Notify(myEvent);        

这是我想写的,但不起作用:

Notify({.EventName = "infomessage", .Message = "Testmessage"});

甚至更好

Notify({"infomessage", "Testmessage"});

编辑:LabCVI 使用 ISO 9899:1990 标准。

4

1 回答 1

2

使用复合文字(Event){"infomessage", "Testmessage"},即

Notify((Event){"infomessage", "Testmessage"});
于 2010-12-30T12:08:51.223 回答