我试图在头文件中声明一个重载、非友元、非成员 ' - - 运算符:
Quad operator-(const Quad &qu1, const Quad &qu2);
但我得到:
"error C2804: binary 'operator -' has too many parameters"
这段代码直接来自书本和问题陈述,我似乎无法解决它。感谢您的帮助。
最佳答案
类定义范围内的二元运算符必须只有一个参数。
Quad operator-(const Quad &quRight)
{
Quad res;
res.x = this->x - quRight.x;
// all other components
// ...
return res;
}
或者您可以将运算符重载移到类之外。
关于c++ - 重载运算符参数太多,visual studio c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33469438/