为什么 auto 关键字不起作用...????
s.push_back(11);
s.push_back(22);
s.push_back(33);
s.push_back(55);
for (auto it = s.begin(); it != s.end(); it++){
cout << (*it) << endl;
}
为什么 auto 关键字不起作用...????
s.push_back(11);
s.push_back(22);
s.push_back(33);
s.push_back(55);
for (auto it = s.begin(); it != s.end(); it++){
cout << (*it) << endl;
}
它应该工作。为此,您需要 C++11 支持。在 GCC 上,您需要 4.4 或更高版本,并确保使用std=c++0x
标志(或可能std=c++11
用于最新版本)。
看看你的编译器是否支持 auto 关键字,因为它是在 C++11 标准中正式引入的。
您需要 Visual Studio 2010(或更高版本)或 GCC 标志-std=c++11
来编译它。您还可以在 VC++11 或 GCC 4.6 及更高版本中将其重写为 for-range 循环。
for(auto& it : s) {
std::cout << it << '\n';
}