2011-08-11 21 views
4

テンプレート引数の数に応じて、可変数の引数を持つ関数呼び出し(関数テンプレート内)を構築できますか?次のようなもの:可変数の引数を使用した関数呼び出し

void f(int i) {} 
void f(int i1, int i2){} 
void f(int i1, int i2, int i3){} 
... 

template<typename... T> 
void caller() { 
    f(/* sizeof...(T) number of arguments; of form T_i::value */); 
} 

答えて

6

はい。テンプレートパラメータパックTは、関数パラメータパックと同じ方法で拡張されることがあります。

template<typename... T> 
caller() { 
    f(T::value...); 
} 
+0

ああ、はい。ありがとうございました。 – Predrag

関連する問題