c++ - 循环范围 : VS 2008 doesnt support it?

标签 c++ visual-studio

我正在尝试在 VS 2008 上运行以下代码。

int main(){
for(int n: {0, 1, 2, 3, 4, 5}) // the initializer may be a braced-init-list
        std::cout << n << ' ';

return 0; 
}

但是编译器给了我以下警告:

error C2143: syntax error : missing ',' before ':'

在我看来,VS 2008 不支持循环范围。真的吗? 谢谢

最佳答案

您正在使用的范围 for 循环和初始化列表表示法均在 C++11 标准中引入。

最早支持 for 循环范围的 VC 编译器是 VC2013,但该编译器并未完全实现(甚至声称实现)C++11 标准。 (例如,它不允许您按照自己的方式使用初始化列表。)

你最好升级到VC2015。

关于c++ - 循环范围 : VS 2008 doesnt support it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38217969/

相关文章:

c++ - 如何更新我的编译器以使用 C++11 功能?

.net - 为什么我的配置管理器在 Visual Studio 2010 中被禁用?

javascript - 需要有关此主题的完整示例 : QtWebKit Bridge

c# - 在 Windows 身份验证成功后运行 Excel 文件

visual-studio - cl.exe 的/FD 选项是什么

c++ - 如何使用 PathCreateFromUrlA API

c++ - 模板函数作为模板参数,标准是什么?

c++ - 填充指向 vector 元素的指针的无序队列

c++ - 我可以在相同的设备缓冲区上一个接一个地调用 OpenCL 内核吗?

c++ - D3DX11CompileFromFile 无效参数 C++