如果我有一類叫做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