如果我有一类叫做Tuple<T, SIZE>
,我想,让我们说,编译库时(使用户不会遇到链接错误)实例20个不同的浮动模板:实例化多个模板
template Tuple<float, 1>;
template Tuple<float, 2>;
...
template Tuple<float, 20>;
有任何方式递归执行上述?也许允许它是灵活的,以便我可以把它放在我想要的任何数字,并为我实例化类?
编辑:(似乎不工作)我迄今为止尝试:
template <typename T, unsigned int MAX_RANGE>
class AllTuples
{
Tuple<T, MAX_RANGE> y;
AllTuples<T, MAX_RANGE - 1> x;
};
template <typename T>
class AllTuples<T, 1>
{
Tuple<T, 1> x;
};
AllTuples<float, 10>;
'AllTuples :: x'也应该是'AllTuples',而不是'Tuple'。 – Xeo
@Xeo:谢谢你指出,固定(虽然仍不能解决原来的问题) – Samaursa