为什么此代码给出错误消息“IntelliSense:此操作符函数的参数过多”
int operator+(PerfectNum a,PerfectNum b)
{
return (a.thenum+b.thenum);
}
PerfectNum是常规类,thenum是int。
该方法在该类中。
最佳答案
您将其定义为成员函数,对吗?
在这种情况下,左侧只是*this
:
// .h
class PerfectNum
{
public:
int operator+(PerfectNum other) const;
};
// .cpp
int PerfectNum::operator+(const PerfectNum &other) const
{
return this->thenum + other.thenum;
}
关于c++ - 运算符+重载问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6337139/