- C++相談室 part114
628 :デフォルトの名無しさん[sage]:2014/11/23(日) 16:12:33.19 ID:953N3eH5 - methodメンバ関数を持つかどうかで仕分けするメタ関数を作りたくてとりあえずSFINAEでオーバオーロードすることを考えているんだけど
こんなふうに作った。 http://ideone.com/iq6uZ3 confirmが判断する関数で、戻り値にSFINAEを適用してて、 void method()をメンバ関数に持っていればstd::true_typeを、持っていなければstd::false_typeが戻り値になる関数になっているのだけれど、 GCCならこの通りうまくいくんだけどVisual Studio 2014CTPだと両方std::false_typeが返ってきちゃうんだ ってことはどっかに未定義動作が含まれてるんだと思うのだけれど、わかる方いませんか
|
- C++相談室 part114
632 :デフォルトの名無しさん[sage]:2014/11/23(日) 18:16:13.16 ID:953N3eH5 - >>629-631
ありがとう こいつのせいで土曜日を潰した
|
- C++相談室 part114
641 :デフォルトの名無しさん[sage]:2014/11/23(日) 20:04:47.38 ID:953N3eH5 - >>630
型変換なし非テンプレート > テンプレート > 暗黙の型変換非テンプレート > ...演算子(何でも受け取る, cdeclのみ) だった気がするよ
|