お恥ずかしながら、ねこさんこの歳になるまでコンストラクタにexplicit指定を付けていなかったのですが、昨日現実逃避に気まぐれにC++のおもちゃコードを書いてみた時に試しにコンストラクタ全部にexplicitを付けてみたところ、「error: no matching function for call to 'A<int>::A(A<int>)'」なんて出てコンパイルできない orz
コピーコンストラクタ"だけ"explicit指定を外すと問題なくなった。
あたりまえなのかこれでいいのか、微妙過ぎて現在も考え中 orz
0 件のコメント:
コメントを投稿