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
最新バージョンの場合)。
C++11 標準で正式に導入された auto キーワードをコンパイラがサポートしているかどうかを確認してください。
-std=c++11
これをコンパイルするには、Visual Studio 2010 (またはそれ以降) または GCC フラグが必要です。VC++11 または GCC 4.6 以降では、これを for-range ループに書き直すこともできます。
for(auto& it : s) {
std::cout << it << '\n';
}