Eclipse CDT解析器支持C++ 11?

srk*_*ing 2 c++ syntax-highlighting eclipse-cdt c++11

我在Linux上使用Eclipse 3.7.2和CDT 8.0.2.如何配置CDT以识别c ++ 11语法override?目前,解析器在指示的行上标记虚假错误.由于我在编译器命令行中包含-std = c ++ 11,因此构建完成且没有错误.

class foo
{
public:
    foo(){}
    virtual ~foo(){}
    virtual void func(){}
};

class bar : public foo
{
public:
    bar(){}
    virtual ~bar(){}
    virtual void func() override {} // <--- parser incorrectly flags syntax error
};

int main()
{
    bar my_bar;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我试图在该方向的Eclipse维基这里没有成功.同样,我只需要编辑器的解析器来识别c ++ 11,实际构建就可以了.

sel*_*nin 5

要修复C++ 11语法高亮,请转到:

项目属性 - > C/C++通用 - >路径和符号 - >符号 - > GNU C++

并覆盖符号(即添加新符号):

__cplusplus
Run Code Online (Sandbox Code Playgroud)

有价值的

201103L
Run Code Online (Sandbox Code Playgroud)

确保在项目设置中启用了索引器(C/C++ general - > Indexer)

然后重新索引(项目 - > C/C++索引 - >重建)

如果问题仍然存在再次重新索引.它现在应该工作.