C++ リファレンスによると、 STL コンテナーは C++11 標準で修正され、erase
メソッドで定数イテレーターを使用するようになりました。c++0x
次のコードは、g++4.7 を有効にするとコンパイルされません。
#include <vector>
int main()
{
std::vector<int> vector;
vector.push_back(0);
std::vector<int>::const_iterator vectorItr = vector.begin();
vector.erase(vectorItr);
}
明らかに、新しい署名は実装されていません。この問題がいつ修正されるかについての情報はありますか? GCC での C++0x/C++11 のサポートに関する記事には、それぞれの情報が見つかりませんでした。