我想输入一个可变参数模板参数,如附带的代码所示。有可能实现这个目标吗?
template <typename... T>
class Test
{
public:
typedef T Arg;
};
template <typename T>
class X
{
public:
X(T::Arg arg);
};
答案 0 :(得分:3)
您无法将包分配给非包装。你可以把它放到std::tuple
中。
template <typename... T>
class Test
{
public:
typedef std::tuple< T ... > Arg;
};
随后从Arg
获取带参数列表T ...
的函数需要更多工作,我不建议将其作为设计模式。最好以其他方式结合class Test
和X::X
。