2017-03-19 11 views

答えて

2

あなたが書いた方法では、オーバーロードの解像度はAのctorを選択します。あなたは少し違っそれを書いた場合:

A a = b

これは、変換があいまいであるというエラーが発生します。あなたはA変更した場合:代わりにAのsの変換演算子 '明示的にするのctorの

explicit A(const B&) {}

をその後Bを選ぶだろう' '行A a = bとS CTOR、およびA呼び出す' 行A a(b)とのctorのをあなたが本当にBの変換演算子を強制する場合

、あなたは常に明示的に呼び出すことができます。

A a = b.operator A();

関連する問題