Например
template<typename... Ts>
LastTypeOfTs f();
Как да върна последния тип на променлив шаблон?
Например
template<typename... Ts>
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() {
//...
}