0

我有一个可变参数模板类。它的构造函数应该接受在每个参数上模板化的特定类的实例,即

class Foo<A>
{
public:
    Foo(Bar<A>);
};

class Foo<A, B>
{
public:
    Foo(Bar<A>, Bar<B>);
};

class Foo<A, B, C>
{
public:
    Foo(Bar<A>, Bar<B>, Bar<C>);
};

我该如何编程?

4

1 回答 1

2
template<typename... T>
struct Foo {
    Foo(Bar<T>... bar);
};

在构造函数声明中,Bar<T>作为一个整体是被扩展的模式,例如声明Foo<int, long, double>构造函数采用Bar<int>, Bar<long>, Bar<double>

于 2013-04-06T05:32:26.807 回答