Странное явление возврата итератора При удалении диапазона элементов в векторе

Исходный код выглядит следующим образом. При удалении диапазона элементов в векторе мы можем сделать вывод, что итератор возврата ссылается на элемент 30. Но в Visual Studio 2010 итератор возврата не разыменовывается, почему?

Информация об ошибке: векторный итератор не разыменовывается.

vector <int> v1;
vector <int>::iterator iter;
v1.push_back( 10 );
v1.push_back( 20 );
v1.push_back( 30 );
v1.push_back( 40 );
v1.push_back( 50 ); 
iter = v1.erase( v1.begin( ), v1.begin( ) + 2 );
cout << *iter << endl;

локальные переменные в Visual Studio 2010

0 ответов

Другие вопросы по тегам