c++运算符重载无语的报错

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:17:35
error C2804: binary 'operator +' has too many parameters
在类中声明为类的成员函数就报错(operator + 有太多参数)
申明为友元函数就没错

bn_int operator+ (bn_int &a,const unsigned int &b); // 类与数的相加
重载没用访问私有成员变量

一个类的非static的成员函数总有一个隐含的参数就是它自己。 +运算符只需要两个参数,你这里面就写了两个, 把它自己往哪放? 你看看别人的怎么写的嘛 a + b 就等于 a.operator +(b) 所以作为成员函数的operator+只需要一个参数。 这道理都很简单的, 学语法多想想,别多学了概念就把基础都丢了

相信你看了这个帖子你就明白了,人家讲得很清楚了: http://zhidao.baidu.com/question/69642152.html?si=1