我下载并安装了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 << ' ';
}
它产生输出:
4 3 2 1 0
但是,Visual Studio 2012使用工具提示强调了波浪形红色的第一个值:
int values []
错误:不允许不完整的类型
答案 0 :(得分:8)
您没有使用v120进行编译。您正在使用v120 CTP进行编译。 CTP代表“社区技术预览”,“预览”位的一部分是Intellisense无法识别任何新构造。此行为实际上是针对CTP设计的,不会修复,也没有解决方法。
您将不得不等待Microsoft完成错误修正CTP并将其作为正确的更新发布,这可能包含对新功能的Intellisense支持。