Я использую Visual Studio 2015 Update 1 С++-компилятор и этот фрагмент кода:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v{3, 1, 4};
v.reserve(6);
for (auto e: v)
v.push_back(e*e);
for (auto e: v)
cout << e << " ";
return 0;
}
Версия выпуска работает нормально, но отладочная версия создает сообщение об ошибке vector iterators incompatible
. Почему это?
Прежде чем вы укажете это как дублирующийся вопрос на Добавить элементы в вектор во время цикла С++ 11, прочитайте мой ответ qaru.site/info/240479/... с аргументами обратного.