我正在编写一个链表,我的List类中有一个Iterator类。 我想重载=运算符,但我不知道启动它的正确语法。
这就是我的代码
class List{
//member stuff
class Iterator{
private: Node* current;
public: Iterator& operator=(const Iterator& right);
}
}
我正在尝试这个,但我不确定这是否正确。
List::Iterator::operator=(const Iterator& right){
//stuff
}
任何人都可以澄清吗?
答案 0 :(得分:9)
为了澄清,你的想法是正确的,但你忘了在函数声明中有一个返回类型:
List::Iterator::operator=(const Iterator& right){
//stuff
}
需要
List::Iterator& List::Iterator::operator=(const Iterator& right){
//stuff
}
答案 1 :(得分:0)
List::Iterator& List::Iterator::operator=(const Iterator& right) {...}
^^^^^^^^^^^^^^^
答案 2 :(得分:0)
List::Iterator& List::Iterator::operator=(const List::Iterator& right)
{
//...
}