C++ 循环范围:VS 2008不支持吗?

C++ 循环范围:VS 2008不支持吗?,c++,visual-studio,C++,Visual Studio,我试图在VS2008上运行以下代码 int main(){ for(int n: {0, 1, 2, 3, 4, 5}) // the initializer may be a braced-init-list std::cout << n << ' '; return 0; } 但是编译器给了我以下警告: 错误C2143:语法错误:缺少“,”之前“:” 在我看来,VS2008不支持循环的范围。这是真的吗? Thx循环的范围和您正在使用的初始值设定项

我试图在VS2008上运行以下代码

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

return 0; 
}
但是编译器给了我以下警告:

错误C2143:语法错误:缺少“,”之前“:”

在我看来,VS2008不支持循环的范围。这是真的吗? Thx

循环的范围和您正在使用的初始值设定项列表符号都是在C++11标准中引入的

最早支持循环范围的VC编译器是VC2013,但该编译器没有实现,甚至没有声称完全实现C++11标准。 例如,它将不允许您以现有方式使用初始值设定项列表


你最好升级到VC2015。

你确定你是用C++11编译的吗?@BatCoder:考虑到C++11指的是2011年,VS2008指的是2008年,我很确定答案是否定的。或者,如果你坚持使用VC2008,请使用BOOST_FOREACH