При компиляции нижеприведенной функции следующая ошибка компиляции. почему yt != endIx
во втором для цикла незаконно.cpp vector для ошибки условия завершения цикла
ошибка C2678: бинарный '! =': Ни один оператор не найден, который принимает левого операнда типа 'станд :: _ Vector_iterator >>' (или нет приемлемой конверсии)
void printDebug(vector <int> ar)
{
for (auto it = ar.begin(); it != ar.end(); it++)
{
auto endIx = ar.end() - it;
for (auto yt = ar.begin(); yt != endIx ; yt++)
{
cout << *it << " : " << endIx ;
}
cout << endl;
}
}
Просто, чтобы избежать путаницы, я переименовал авто итератор конца в endIx;
Примечания («pass by const reference», и «пройти через пару итераторов») не связаны с проблемой, а ИМО отвлекает – anatolyg
@anatolyg удален – quantdev
Мех, пара итераторов может быть скорее вопросом стиля, но я определенно должен отметить, что вектор должен быть передан по const ref, а не по значению. –