1

我下载并安装了Microsoft 的 Visual Studio 2012 预发布 C++ 编译器。我的项目所有配置的平台工具集设置为:“Microsoft Visual C++ Compiler Nov 2012 CTP (v120_CTP_Nov2012)”。

这允许我的项目使用 Microsoft 在其预发布版本中实现的新 C++11 功能。使用新功能的代码编译并运行得非常好,但我仍然得到红色下划线曲线,就好像我的代码有错误一样。

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

例子

以下代码按预期运行:

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

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

它产生输出:

4 3 2 1 0

但是,Visual Studio 2012用波浪形红色强调了第一个值,并带有工具提示:

int values[]
错误:不允许不完整的类型

4

1 回答 1

8

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

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

于 2013-01-04T10:43:17.797 回答