2012-12-24 30 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

相关问题