C++ 循环范围:VS 2008不支持吗?
我试图在VS2008上运行以下代码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循环的范围和您正在使用的初始值设定项
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