Say*_*rty 2 c++ gcc clang c++11
我在一本书中读到,迭代矢量的更简单方法如下:
for (auto x : v)
{
cout << x << "\n";
}
Run Code Online (Sandbox Code Playgroud)
当我在编译器中尝试相同时,我收到两条错误消息:
'auto'改变了C++ 11中的含义,请删除它基于'for'循环的范围,仅适用于c ++ 11"和"'x'可能在此函数中未初始化使用
有人可以指出错误和解决方案吗?
你的语法是正确的.请注意,虽然您正在复制每个元素,x但您可能希望使用它const auto&.
您需要在编译器中启用C++ 11 - 如果您使用的是gcc或clang,则只需传递该-std=c++11标志即可.