我们有模板类:
template<int i> class A { ... };
但是如何声明模板类的包装器:
template<int... is> Pack { private: A<is...> attrs; };
或者如何收集A类?
解决方法
以示例使用std :: tuple
#include <tuple> template <int i> class A { }; template <int... is> class Pack { std::tuple<A<is>...> attrs; }; int main() { Pack<2,3,5,7,11,13> p; }
另一种方式可以是继承
template <int i> class A { }; template <int... is> class Pack : A<is>... { }; int main() { Pack<2,13> p; }