C ++ typedef到variadic模板参数

时间:2014-03-07 11:53:09

标签: c++ templates typedef variadic

我想输入一个可变参数模板参数,如附带的代码所示。有可能实现这个目标吗?

template <typename... T>
class Test
{
public:
    typedef T Arg;
};

template <typename T>
class X
{
public:
    X(T::Arg arg);
};

1 个答案:

答案 0 :(得分:3)

您无法将包分配给非包装。你可以把它放到std::tuple中。

template <typename... T>
class Test
{
public:
    typedef std::tuple< T ... > Arg;
};

随后从Arg获取带参数列表T ...的函数需要更多工作,我不建议将其作为设计模式。最好以其他方式结合class TestX::X