для моего проекта мне нужно сделать итераторы от l oop до go до следующего элемента в контейнере, выполнить некоторые операции и снова вернуться к тому же итератору и просто продолжить, однако для некоторых причина, по-видимому, ни advance
, ни next
, а затем использование prev
не работают. Итак, как мне получить следующий итератор и просто вернуться к предыдущему?
Я получаю следующее сообщение об ошибке:
no matching function for call to 'next(int&)'
no type named 'difference_type' in 'struct std::iterator_traits<int>'
Спасибо!
template<class T>
void insert_differences(T& container)
{
for(auto it : container){
// do some operations here
//advance(it,1);
it = next(it);
// do some operations here
//advance(it, -1);
it = prev(it);
}
}