Я пытаюсь сравнить два элемента в списке путем «peeking» в следующий элемент в списке. Использование C++ 11.C++ Iterator доступ к следующему элементу для сравнения
Возможно ли это? У меня проблемы.
#include <list>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
list<int> intList;
intList.push_back(10);
intList.push_back(20);
intList.push_back(30);
intList.push_back(30);
list<int>::iterator it;
for (it = intList.begin(); it != intList.end(); it++)
{
if (*it == *it + 1)
cout << "Duplicate: " << *it << '\n';
}
}
Вы разыменования ', а затем Оно деталь A.' добавляя к нему 1. Попробуйте '* std :: next (it)'. – DeiDei
Или просто '* (it + 1)', который не совпадает с '* it + 1', что означает' (* it) + 1' – immibis
@immibis Не работал бы с 'std :: list'. Это 'ForwardIterator'. – DeiDei