c++的问题,运算符重载里面的

来源:百度知道 编辑:UC知道 时间:2024/05/02 12:42:27
class complex{
private:
double rpart;
double ipart;
public:
complex()//缺省构造函数
{
rpart = ipart = 0.0;
}
complex(double rp,double ip)//带参构造函数
{
rpart=rp;
ipart=ip;
}
complex(double d) //具有类型转换功能,把double型转换成complex
{
rpart = d;
ipart=0.0;
}
const complex operator+(const complex& com) const;//两目加
const complex operator-() const;//单目负
const complex operator--(const complex& com) const;
void print();
};
为什么编译中说complex\complex.h(22) : error C2807: the second formal parameter to postfix 'operator --' must be 'int'?
这是为什么啊?怎么改啊?
请问该怎么改啊?谢谢!

const complex operator--(const complex& com) const;
你重载--的话,--只能是单目运算符

如果你要重载--运算符,就要去掉参数const complex& com

你把完整的代码贴出来和指名具体出错的地方