このデータ構造ブックのベース コードを使用して、リンク リストの検索機能を実装する際に問題が発生しています。これは私が得ているエラーです:
llist.h: In member function 'void LList<E>::search(const E&, bool&) [with E = Int]':
Llistmain.cpp:31:1: instantiated from here
llist.h:119:3: error: no match for 'operator==' in '((LList<Int>*)this)->LList<Int>::curr->Link<Int>::element == value'
そして、これが私の検索メンバー関数の実装です:
void search(const E& value, bool& found) {
if (curr->element == value)
found = true;
else if (curr != NULL) {
curr = curr->next;
search(value, found);
}
else found = false;
}
に関するエラーが表示されるのはなぜ== operator
ですか? curr->element
とはどちらもvalue
Int 型です。別の方法で等価性をチェックする必要がありますか?