トップページ > プログラム > 2014年06月15日 > 0zd0fjQY

書き込み順位&時間帯一覧

46 位/230 ID中時間01234567891011121314151617181920212223Total
書き込み数0000001010000000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part113

書き込みレス一覧

C++相談室 part113
71 :デフォルトの名無しさん[sage]:2014/06/15(日) 06:51:34.73 ID:0zd0fjQY
手持ちのプログラムを Variadic Template ベースに書き換えてるんだけど困ってます。
SFINAE がうまくできない。

template <typename T1, typename T2, typename T3>
auto test(T1&& t1, T2&& t2, T3&& t3, typename enable_ifなんちゃら〜 = 0 );

とか、最後の引数にデフォルト引数をつけてたやつが、Variadic にすると可変引数の後に置くことができなくなってしまう。

漠然として悪いんだけど、Variadic Template でSFI姉の使い方でなにかコツのようなものが
あったら教えて!
C++相談室 part113
73 :デフォルトの名無しさん[sage]:2014/06/15(日) 08:00:52.53 ID:0zd0fjQY
>>72
そうです。だからデフォルト引数にせず、かつ可変引数より前に持っていくしかない、って結論になりました。
でもそうすると、前方にあった引数の情報を使ったSFINAEができなくなってしまう。

template <typename T1, typename T2, typename T3>
auto test(T1&& t1, T2&& t2, T3&& t3, 〜t1とt2とt3の情報を使ったSFINAE〜 );
から、
template <typename... T>
auto test(〜t1とt2とt3の情報を使ったSFINAE〜, T&&... t, );
にもっていくことができない。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。