我正在尝试编写一个程序,该程序最终将能够使用 +,-,*,/,solve,(etc) 多项式。我从一个尝试添加两个单项式的简单案例开始,并将在此基础上慢慢建立。我正在尝试重载 + 运算符,但我不断收到错误消息:
错误与“m1 + m2”中的“operator+”不匹配
我主要这样称呼它:
Monomial m1(2,3);
Monomial m2(3,3);
Monomial result;
result = m1 + m2; // I get an error when trying to do this.
在我的多项式类标题中,我将其定义为:
friend Polynomial operator+ (const Monomial&, const Monomial&);
我实施的方式是:
Polynomial operator+(const Monomial& mono1, const Monomial& mono2){
Polynomial poly;
poly.coef = mono1.coef + mono2.coef; // coef stands for coefficient
poly.exp = mono1.exp; // exp stands for exponent
return poly;
}
* 请注意,在我深入研究不同指数等的实际情况之前,我只是想让 operator+ 先工作。这只是一个简单案例的准系统。我传入 m1(2,3) 是 2x^3,m2(3,3) 是 3x^3 应该清楚地等于 5x^3,但我得到一个错误。不要担心打印我已经弄清楚的结果部分。