Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ &引用;分配的;可变参数模板_C++_Templates_C++11_Variadic Templates - Fatal编程技术网

C++ &引用;分配的;可变参数模板

C++ &引用;分配的;可变参数模板,c++,templates,c++11,variadic-templates,C++,Templates,C++11,Variadic Templates,我有一个可变模板类。 它的构造函数应该接受在每个参数上模板化的特定类的实例,即 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&g

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

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>);
};
class-Foo
{
公众:
富(巴);;
};
福班
{
公众:
Foo(酒吧,酒吧);
};
福班
{
公众:
Foo(酒吧,酒吧,酒吧);
};
如何编写此程序?

模板
template<typename... T>
struct Foo {
    Foo(Bar<T>... bar);
};
结构Foo{ Foo(酒吧……酒吧); };

在构造函数声明中,
Bar
作为一个整体是被扩展的模式,例如,对于
Foo
来说,一个使用
Bar,Bar,Bar
的构造函数被声明。

应该可以使用部分专门化和递归定义。谢谢,这是可行的!我也觉得我现在对
操作符有了更好的理解!