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 */);
}
4

1 回答 1

6

是的; 模板参数包T可以像函数参数包一样扩展:

template<typename... T>
caller() {
   f(T::value...);
}
于 2011-08-11T15:45:02.523 回答