我有以下函数/构造函数/方法(我不确定它是什么)
List<T>& List<T>::operator=(const List<T> &x)
其中List是链表,这应该做分配。但是,我不确定这应该归还什么。 Eclipse一直告诉我控件到达非void函数的末尾;但是,我不确定究竟是什么。我是C ++的新手,所以如果可能,请保持简单的答案。谢谢:))
答案 0 :(得分:3)
通常,赋值运算符返回对象本身的引用,因此只需使用return *this;
结束函数。如果赋值表达式具有受让人的值,则允许您编写a = b = c;
和if ((a = get_data()) == c)
等内容。
答案 1 :(得分:1)
它是=
类的重载List<T>
运算符,它应该返回对类类型的引用。返回引用允许返回值充当l值,并允许其在链接调用中使用,如:
a = b = c;
您应该返回*this
。
解释它是什么:
List<T>& List<T>::operator = (const List<T> &x)
^^^^^^^ ^^^^^^^ ^^^^^^^^ ^ ^^^^^^^^^^^^^^^^ <------------- Parameter being passed to =
Return Type | | |
| | |<------------- operator being overloaded
| Keyword operator
Class whose operator is being overloaded