Eclipse CDT 中的 C++14 语法编译但标记为语法错误(索引器)

C++14 Syntax in Eclipse CDT compiles but marked as syntax error (indexer)

Eclipse CDT 给我一个有效 C++14 语法的语法错误。 一切都编译并运行,但语法突出显示被破坏。

我有 MinGW 和 Eclipse 运行。 C++14 程序编译并执行,但语法高亮显示/语法检查不正确。

这是我的源代码:

#include <iostream>
auto main() -> int
{
    //Binary Literals C++14 with Digit separators C++14
    auto seven = int{0b0000'0111};

    std::cout << seven << std::endl;
    std::cout << __cplusplus << std::endl;
    return int{0};
}

这是输出/构建日志。 你可以看到我的编译器设置
(-D__GXX_EXPERIMENTAL_CXX0X__ -O0 -g3 -Wall -c -fmessage-length=0 -std=c++14) 和其中的突出显示。

我需要设置什么才能让语法检测允许 C++14 语法?

编辑:索引器似乎是正确的选择——我无法让索引器按预期工作。

在 Windows 7 我正在使用 MinGW。 我打开提供程序并单击 "CDT Built-In Compiler Settings MinGW" 我添加 -std=c++14 的位置。所以在我点击应用后整个字符串是 ${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}" -std=c++14 并且确定我使用 Project->Index->​​rebuild 以希望消除我的错误。语法错误仍然存​​在。

这基本上就是索引器在 the FAQ to get C++11 recognized 中提到的内容。

我安装了最新的 MinGW 版本。当我调用 g++ --version 时,我得到:g++ (GCC) 5.3.0 作为响应。 There is no manual for 5.3 但我认为 5.4 的大部分内容对我的版本基本有效。

问题好像是还没有添加对C++14的支持

Here is a bugreport 收集所有 C++14 问题。 有一个取决于部分,其中列出了其他错误报告。其中专门提到Binary literals (N3472)Single-quotation-mark as digit separator (N3781).

的bug451086

所以这个问题似乎是已知的,并且会在未来的某个时候得到解决。