小编Zef*_*flo的帖子

未检测到重载运算符

首先,我使用模板创建了一个双向链表.我有一个"帐户"类,我已经重载了"=="运算符来比较帐户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:

链接列表类

帐户类

c++ templates overloading operator-keyword

5
推荐指数
1
解决办法
149
查看次数

标签 统计

c++ ×1

operator-keyword ×1

overloading ×1

templates ×1