我在定义union时遇到语法错误“类型XXX无法解析”,此错误不会显示在VC ++等其他IDE上。例如,联合定义如下:
typedef union{
struct {
int data1;
int data2;
int data3;
} dataField;
int dataBuffer[sizeof(dataField)];
};
发生语法错误。
type 'dataField' could not be resolved
通过谷歌搜索我发现原因可能是eclipse CDT和其他IDE使用的索引器之间的区别。但是,此代码仍然编译没有错误。 有人可以提出更具体的建议来处理此错误消息吗? 感谢。
答案 0 :(得分: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)];
};