回答編集履歴
1
update
test
CHANGED
@@ -2,4 +2,10 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
コピーコンストラクタ`Polynomial::operator=(const Polynomial&)`は`const Polynomial&`を引数にとりますが、この実引数を`copy_Pol`メンバ関数に渡そうとすると「`const Polynomial&`から`Polynomial&`への変換」が
|
5
|
+
コピーコンストラクタ`Polynomial::operator=(const Polynomial&)`は`const Polynomial&`を引数にとりますが、この実引数を`copy_Pol`メンバ関数に渡そうとすると「`const Polynomial&`から`Polynomial&`への変換」が必要になってしまいます。C++ではconst修飾を外す変換は(非常に危険なため)自動的では行いませんから、質問中にある通りコンパイルエラーとなります。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
----
|
10
|
+
|
11
|
+
(コードレビュー的観点になりますが)`copy_Pol`メンバ関数の処理内容と、コピーコンストラクタの処理がかみ合っていないようです。`copy_Pol`では引数`result`に計算結果が格納されるようですが、コピーコンストラクタの右辺`rhs`を渡そうとしています。これでは `a = b;` の `b` 側が変更されてしまうのでは?
|