C++ EclipseCDT使用正向增量标记语义错误,但编译时没有错误

C++ EclipseCDT使用正向增量标记语义错误,但编译时没有错误,c++,eclipse,c++11,C++,Eclipse,C++11,有没有一种方法可以配置Eclipse,以便它能够解析下面的转发声明示例 这是没有任何问题的构建 class MyClass { public: enum class MyEnum; // Forward declaration. enum class MyOtherEnum { DELTA, ECHO, FOXTROT }; }; enum class MyClass::MyEnum{ ALPHA, BRAVO, CHARLIE }; int

有没有一种方法可以配置Eclipse,以便它能够解析下面的转发声明示例
这是没有任何问题的构建

class MyClass {
public:
  enum class MyEnum; // Forward declaration.
  enum class MyOtherEnum {
    DELTA,
    ECHO,
    FOXTROT
  };
};

enum class MyClass::MyEnum{
  ALPHA,
  BRAVO,
  CHARLIE
};

int main(void) {
  volatile MyClass::MyEnum myVariable = MyClass::MyEnum::BRAVO; // Flags up two semantic errors.
  volatile MyClass::MyOtherEnum myOtherVariable = MyClass::MyOtherEnum::ECHO; // No problems.
  return 0;
}
语义错误:
无法解析符号“BRAVO”
无法解析类型“MyClass::MyEnum”


使用EclipseCDTMars.2版本(4.5.2)。

这是一个已知的错误,在即将发布的EclipseCDTNeon版本中已修复


因为Eclipse想变得太聪明。。。它分析代码本身,而不是让编译器来完成这项工作。因此,您必须确保在Eclipse(C++ 98, 11, 14,…)中设置正确的C++级别。如果这还不够,要么扔掉Eclipse,要么在类中完全定义MyEnum…@SergeBallesta感谢您提供的信息。我只是尝试使用此处概述的过程设置版本,但不幸的是没有成功。我猜他们忽略了枚举,因为它与嵌套结构和类一起工作。