次のように、2 つの 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 リストのモック バージョンを作成し、イテレータを逆参照するために *operator をオーバーロードしました。ただし、明らかにここでは機能していません。
イテレータを逆参照するにはどうすればよいですか、または STL リストが別の方法で行う場合は、どのように行いますか。私はこれを見ました:
http://www.sgi.com/tech/stl/List.html
ドキュメンテーションを参照し、メンバー「参照」を受け入れるものは何も見つからなかったようですが、リストの最初または最後の部分でない限り、イテレータが指しているものを参照する方法はまだわかりませんでした。
ここで何が起こっているか知っている人はいますか?ありがとうございました
ここにペーストビンがあります: