土曜日, 9月 20, 2008

explicit

お恥ずかしながら、ねこさんこの歳になるまでコンストラクタにexplicit指定を付けていなかったのですが、昨日現実逃避に気まぐれにC++のおもちゃコードを書いてみた時に試しにコンストラクタ全部にexplicitを付けてみたところ、「error: no matching function for call to 'A<int>::A(A<int>)'」なんて出てコンパイルできない orz

コピーコンストラクタ"だけ"explicit指定を外すと問題なくなった。

あたりまえなのかこれでいいのか、微妙過ぎて現在も考え中 orz

0 件のコメント: