C++ 如何返回可变模板的最后一种类型?

C++ 如何返回可变模板的最后一种类型?,c++,c++11,variadic-templates,C++,C++11,Variadic Templates,比如说 template<typename... Ts> LastTypeOfTs f(); 模板 LastTypeOfTs f(); 如何返回变量模板的最后一种类型?您可以按如下方式执行模板递归: template<typename T, typename... Ts> struct LastTypeOfTs { typedef typename LastTypeOfTs<Ts...>::type type; }; template<typ

比如说

template<typename... Ts>
LastTypeOfTs f();
模板
LastTypeOfTs f();

如何返回变量模板的最后一种类型?

您可以按如下方式执行模板递归:

template<typename T, typename... Ts>
struct LastTypeOfTs {
   typedef typename LastTypeOfTs<Ts...>::type type;
};

template<typename T>
struct LastTypeOfTs<T> {
  typedef T type;
};

template<typename... Ts>
typename LastTypeOfTs<Ts...>::type f() {
  //...
}
模板
结构LastTypeOfTs{
typedef typename LastTypeOfTs::type类型;
};
模板
结构LastTypeOfTs{
T型;
};
模板
typename LastTypeOfTs::type f(){
//...
}

相关: