【问题标题】:Getting syntax errors "type XXX could not be resolved" in eclipse CDT while defining union在定义联合时在 Eclipse CDT 中出现语法错误“无法解析类型 XXX”
【发布时间】:2012-12-28 19:32:56
【问题描述】:

我在定义联合时遇到语法错误“无法解析类型 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 使用的索引器之间的差异。但是,此代码仍然编译没有错误。 有人可以给出更具体的建议来处理此错误消息吗? 谢谢。

【问题讨论】:

    标签: c eclipse eclipse-cdt


    【解决方案1】:

    怎么样:

    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)];
    };
    

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 2020-08-31
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多