我试图在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;
}
Run Code Online (Sandbox Code Playgroud)
但是编译器给了我以下警告:
错误C2143:语法错误:在':'之前缺少','
在我看来,VS 2008不支持循环范围.真的吗?谢谢
for您正在使用的范围循环和初始化程序列表符号都是在C++ 11标准中引入的.
支持范围for循环的最早的VC编译器是VC2013,但该编译器没有完全实现(甚至声称实现)C++ 11标准.(例如,它不允许您以您拥有的方式使用初始化列表.)
您最好升级到VC2015.
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |