【问题标题】:Function call with variable number of arguments具有可变数量参数的函数调用
【发布时间】:2011-08-11 15:35:28
【问题描述】:

是否可以根据模板参数的数量来构造具有可变数量参数的函数调用(在函数模板内)?比如:

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

【问题讨论】:

    标签: c++11 variadic-templates


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-24
      • 2011-01-21
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 2023-03-12
      相关资源
      最近更新 更多