首先,我使用模板创建了一个双向链表.我有一个"帐户"类,我已经重载了"=="运算符来比较帐户ID.我创建了一个链接列表来保存帐户.
当我向列表中添加一个新帐户时,它会调用"包含?" 调用==运算符的方法.这是调用错误的地方,g ++告诉我
sll.h:在成员函数'bool list :: contains(T)[with T = account]'中:
customer.h:25:35:从这里实例化
sll.h:261:3:错误:'temp-> node :: data == item'中'operator =='不匹配
account.h:36:6:注意:候选人是:bool account :: operator ==(account&)
我现在一直在调查几个小时,我无法深究它.我怀疑它可能与我使用模板这一事实有关.我创建了测试程序,看看我是否正确地重载了操作符并且它按预期工作.
另请注意:有一个客户类,它包含在帐户列表中,这就是所谓的"添加"方法.不幸的是,我不能发布超过2个超链接,所以我只能说出这个课程是正确的.= P
由于代码有点长,我使用了pastie: