2013-10-01 38 views
1

在我的课本,他们给超载+运算重载+操作,链表

Sales_item operator+ (const Sales_item& lhs, const Sales_item& rhs) 
{ 
    Sales_item ret(lhs); 
    ret += rhs; 
    return ret; 
} 

但是当我尝试为我的链表,它告诉我的例子也只能采取零个或一个参数。

什么是我没有看到,如果你不能接受2个参数,你会如何添加2个对象?

+2

将它移到班级以外。 – chris

+1

查看[this](http://stackoverflow.com/a/6069286/1670308),它可能有帮助 – streppel

回答

1

如果你的operartor +是一个成员函数,它不需要两个参数,因为你调用operator +的类的对象是左边的参数。但是你已经有了这样一个运算符:operator + =。正如chris和nims所建议的,运营商+ Sales_item类以外的用户。