- 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, ); にもっていくことができない。
|
|