0

私はC89、C90、Ansi-Cコードを書いています。私の関数の1つは、パラメーターとして構造体を必要とします。最初に構造体を作成してから関数に渡すのではなく、その構造体を初期化して関数を呼び出したいと思います。

動作するスニペットを次に示します。

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 に答える