【发布时间】:2010-10-26 15:44:14
【问题描述】:
我正在创建一个双链表,并重载了 operator= 以使列表等于另一个:
template<class T>
void operator=(const list<T>& lst)
{
clear();
copy(lst);
return;
}
但是当我尝试编译时出现此错误:
container_def.h(74) : error C2801: 'operator =' must be a non-static member
另外,如果有帮助,第 74 行是定义的最后一行,带有“}”。
【问题讨论】:
-
这是在什么背景下?在课堂里?在顶层?
-
实际上不需要问题名称中的语言,因为它也标记为 C++
-
这个问题具有误导性。问题here 更有趣。尽管最好的措辞是“为什么 operator= 不能是全球性的”。 Johannes Schaub - litb 的回答澄清了这一点。
标签: c++ class operator-overloading non-static