【发布时间】:2019-11-06 17:40:20
【问题描述】:
我试图理解递归构造函数与可变参数模板的使用。
在下面的代码中,我想实现一个带有可变参数传递值的递归构造函数。
template <class T, class... T2>
struct Tuple{
T value;
Tuple(T n){ //constructor if only one value left
value = n;
}
Tuple(T n, T2... re){ //constructor if more than one value left
T value = n;
//Tuple(rest...); doesnt work for me
}
};
int main(){
Tuple<int, float, int> t(2, 1.2, 9);
std::cout << t.value << "\n"; //2
std::cout << t.rest.value << "\n"; //1.2
std::cout << t.rest.rest.value << "\n"; //9
}
【问题讨论】: