需要在編譯期間初始化聯合成員。 閱讀一些文章似乎沒有辦法,除了只定義在工會的第一個 條目。除非您使用C99,否則您可以專門定義每個聯合成員。初始化聯盟成員 - 使用MS visual studio
事情是我使用Visual Studio 2010教授似乎它不支持C99或我如何啓用ist? 或者還有其他方式來初始化聯合成員?
感謝
typedef union {
int a;
char *atxt;
} MY_UNION_t;
typedef struct {
int foo;
MY_UNION_t un;
}GEN_DATA_t;
/* need to do following: */
GEN_DATA_t obj1 = {0,1}; /* Okay works */
GEN_DATA_t obj2 = {0,"bla"}; /* Does not work */
/* ISO C99 allows: */
GEN_DATA_t obj3 = {0,.atext="bla"}; /* However MS VS seem not to support this */
您試圖常量字符串字面到非恆定字符指針轉換,不是嗎?我認爲這不是一個好主意。 – 2011-06-15 13:30:39