我下载并安装了Microsoft's pre-release C++ compiler for Visual Studio 2012。我项目所有配置的平台工具集均设置为:“Microsoft Visual C++编译器2012年11月CTP(v120_CTP_Nov2012)”。

这使我的项目可以使用Microsoft在其预发行版中实现的C++ 11新功能。使用新功能的代码可以编译并运行良好,但是我仍然会看到红色的下划线,好像我的代码有错误。

到目前为止,我最好的选择是完全禁用“C / C++ Squiggles”。有什么方法可以使Visual Studio 2012意识到我正在使用v120进行编译,并因此进行相应的改动?



以下代码按预期运行:

int values[] {4, 3, 2, 1, 0};

for(int i : values)
{
    std::cout << i << ' ';
}

它产生输出:



但是,Visual Studio 2012会用工具提示突出显示红色的第一个值:

最佳答案

您没有使用v120进行编译。您正在使用v120 CTP进行编译。 CTP代表“社区技术预览”,而“预览”位的一部分是Intellisense无法识别任何新结构。此行为是CTP特意设计的,不会被修复,也没有解决方法。

您将不得不等待Microsoft完成CTP的错误修正并将其发布为适当的更新,该更新可能包含对新功能的Intellisense支持。

关于c++ - 使用C++编译器的VS2012 2012年11月CTP(v120)强调了错误错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14155138/

10-11 18:12