我有一些在 Ubuntu 上开发的代码,现在我正在尝试在 Windows 7(MS VS 2010)上编译它。
vector<float> tmp;
....
tmp = {3.0,4.5,9.4};
这给了我语法错误
error C2143: syntax error : missing ';' before '{'
这是因为 Visual Studio 不支持此功能吗?或者我应该在属性中启用一些开关。我将“平台工具集”属性设置为“v100”。
谢谢你。
最佳答案
Visual Studio 2010 C++ 编译器默认启用 C++0x 功能。例如,使用 lambdas 不需要额外的开关,auto
等......如果您收到该错误,那很可能是因为它不受支持。
编辑
根据这篇 MSDN 文章,初始化列表不是 2010 年支持的 6 个特性之一
the Visual C++ compiler in Visual Studio 2010 enables six C++0x core language features: lambda expressions, the auto keyword, rvalue references, static_assert, nullptr and decltype
关于visual-studio-2010 - 如何在 Visual Studio 中启用 C++0x 功能? [初始化列表支持],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5121529/