Я перебираю два списка STL (L1, L2) примерно так:
list<int>::const_iterator itr1 = L1.begin();
list<int>::const_iterator itr2 = L2.begin();
for (itr1; itr1 != L1.end(); itr1++) {
if (*itr1 < *itr2) {
//some code
}
}
Он хорошо компилируется, но когда я его запускаю, он говорит: "Выражение: итератор списка не может быть разыменован"
Теперь в классе мы сделали фиктивную версию списка STL, где мы написали наш собственный список STL и перегрузили оператор * для разыменования итератора. Однако, очевидно, это не работает здесь.
Как я могу разыменовать итератор, или если список STL делает это по-другому, как он это делает. Я просмотрел это:
http://www.sgi.com/tech/stl/List.html
документация и, похоже, ничего не нашла, чтобы принять "ссылку" члена, но все еще не видела, как ссылаться на то, на что указывает итератор, если только это не первая или последняя часть списка.
Кто-нибудь знает, что здесь происходит? Спасибо
Вот пастбина:
http://pastebin.com/YRddqjmN