在使用构造函数编译我的类链表时出现此错误。我想做一个复制赋值运算符,但我得到这个错误'list :: list'命名构造函数,而不是类型。该行是:
list::list& operator= (const list &l)
列表是我班级的名字
在使用构造函数编译我的类链表时出现此错误。我想做一个复制赋值运算符,但我得到这个错误'list :: list'命名构造函数,而不是类型。该行是:
list::list& operator= (const list &l)
列表是我班级的名字
这个错误是不言自明的。
使用此代码:
list& operator= (const list &l)
在类声明之外,您必须明确该函数属于哪个范围:
list& list::operator= (const list &l)
// ^^^^^^
如果您在operator=
类定义中定义函数,请这样声明:
class list {
...
list& operator=(const list&) { ... return *this; }
};
如果你在你的类定义之外operator=
定义你的函数,在这个完整和正确的例子中声明它:
class list {
public:
list& operator=(const list&);
};
list& list::operator=(const list&) {
return *this;
}
int main() {}