Со ссылкой на этот «>предыдущий вопрос SO, я исправил свою ошибку и изменил итераторы, чтобы они были одного и того же «векторного типа», т.е.
я заменил строку
auto startIter = table.begin();
с
auto startIter = tabTypeIterVector[0];
в цикле for в функции AccessTableIteratorsVector(). Однако в приведенном ниже коде я все еще получаю сообщение "Ошибка утверждения отладки, ошибка несовместимости векторных итераторов, когда эта строка попадает в цикл for
itloop !=-endIter
typedef vector<vector<string> tableDataType;
vector<tableDataType::Iterator> tabTypeIterVector;
tableDataType table;
FillRows(vector<string> vstr)
{
table.push_back(vstr);
if(some_condition_satisfied_for_this_row())
{
tableDataType::Iterator rowIT = table.end();
tabTypeIterVector.push_back(rowIT);
}
}
In another function:
AccessTableIteratorsVector()
{
auto startIter = tabTypeIterVector[0];
auto endIter = tabTypeIterVector[1];
for(auto itloop=startIter; itloop !=-endIter;itloop++)
{
}
}