最終的に +、-、*、/、解法などの多項式を実行できるプログラムを作成しようとしています。2 つの単項式を追加しようとする単純なケースから始めて、ゆっくりと構築していきます。+ 演算子をオーバーロードしようとしていますが、エラーが発生し続けます:
'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+ を機能させようとしているだけです。これは、単純なケースの要点にすぎません。2x^3 である m1(2,3) を渡します。m2(3,3) は 3x^3 であり、明らかに 5x^3 に等しいはずですが、エラーが発生します。私が見つけた結果の部分を印刷することについて心配しないでください。