函数operator =必须是成员函数

时间:2013-07-06 21:23:38

标签: c++ class operator-overloading friend non-static

我在公共类访问说明符中有一个函数原型。 这是原型:

friend void operator=(String &s,char *str);

String是原型的类。你可以看到它是一个朋友的功能。通过这样保持它,它给了我这个错误:

operator =' must be a non-static member // Error: operator= must be a member function

当我删除好友属性时,它会给我这个错误:

error C2804: binary 'operator =' has too many parameters

这个原型出了什么问题?当前没有调用operator = function,所以即使没有函数定义也不会出现任何错误。

1 个答案:

答案 0 :(得分:2)

如果它是String类的一部分,那么它是this的赋值,因此它只需要一个参数。