Ich versuche, zwei Elemente in einer Liste zu vergleichen, indem Sie in das nächste Element in der Liste "spähen". Verwenden von C++ 11.C++ Iterator Zugriff nächstes Element zum Vergleich
Ist das möglich? Ich habe Probleme.
#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';
}
}
Sie dereferencing 'Es' und dann Zugabe von 1 zu. Versuchen Sie '* std :: next (it)'. – DeiDei
Oder nur '* (it + 1)' was ist nicht das gleiche wie '* it + 1' was bedeutet' (* it) + 1' – immibis
@immibis Würde nicht mit 'std :: list' arbeiten. Es ist ein 'ForwardIterator'. – DeiDei