Перегруженный оператор не обнаруживается

Сначала немного предыстории, я сделал двусвязный список, используя шаблоны. У меня есть класс «account», в котором я перегрузил оператор «==» для сравнения идентификаторов учетных записей. Я создал связанный список для хранения учетных записей.

Когда я добавляю новую учетную запись в список, появляется запрос "содержит?" метод, который вызывает оператор ==. Здесь вызывается ошибка и g ++ сообщает мне

sll.h: В функции-члене 'bool list :: contains (T) [with T = account]':

customer.h: 25: 35: экземпляр отсюда

sll.h: 261: 3: error: нет совпадения для 'operator ==' в 'temp-> node :: data == item'

account.h: 36: 6: note: кандидат is: bool account :: operator == (account &)

Я занимаюсь расследованием уже несколько часов и не могу разобраться в сути. Я подозреваю, что это может быть как-то связано с тем, что я использую шаблоны. Я создал тестовую программу, чтобы проверить, правильно ли я перегружаю оператор и работает ли он должным образом.

Также обратите внимание: существует класс клиента, который - это то, что содержится в списке учетных записей, и это то, что называется методом "добавления". К сожалению, я не могу разместить более двух гиперссылок, поэтому просто поверьте мне на слово, что этот класс создан правильно. = P

Как код довольно долго я использовал пасту:

Класс связанного списка

Класс учетной записи

5
задан Haukman 11 June 2011 в 05:48
поделиться