2012-12-24 45 views
1

在定義union時出現「type XXX could not be resolved」類型的語法錯誤,並且此錯誤不會顯示在其他IDE上VC++。例如,一個聯合定義如下:在定義union時,在eclipse CDT中獲取語法錯誤「type XXX could not be resolved」

typedef union{ 
    struct { 
    int data1; 
    int data2; 
    int data3; 
    } dataField; 
    int dataBuffer[sizeof(dataField)]; 
}; 

甲語法錯誤發生。

type 'dataField' could not be resolved 

通過Google搜索,我發現原因可能是eclipse CDT和其他IDE使用的索引器之間的差異。但是,這段代碼仍然編譯沒有錯誤。 有人能給出一個更具體的建議來處理這個錯誤信息嗎? 謝謝。

回答

0

如何:

typedef struct 
{ 
    int data1; 
    int data2; 
    int data3; 
} MyData; 

typedef union 
{ 
    MyData dataField; 
    int dataBuffer[sizeof(MyData)]; 
} MyUnion; 

不知道,但也許這將工作:

typedef union 
{ 
    struct DataStruct 
    { 
     int data1; 
     int data2; 
     int data3; 
    } dataField; 
    int dataBuffer[sizeof(struct DataStruct)]; 
}; 
+0

第二個幫助,非常感謝! – arickal

相關問題