小编dex*_*ter的帖子

带有两个参数的 C++ 参数包递归

我有一个使用两种类型的模板类:

template<typename T1,typename T2> class Foo { ... };
Run Code Online (Sandbox Code Playgroud)

我需要编写一个接受任意数量Foo变量的函数:

template <typename T1, typename T2, typename... Others> size_t getSize(Foo<T1,T2> *f, Foo<Others>*... o) { ... };
Run Code Online (Sandbox Code Playgroud)

如果我class Foo只使用一个模板参数来实现,它运行良好。但是对于两个(或更多)参数,编译器会抱怨Foo<Others>需要两个 args。

class Foo有多个模板参数时,是否可以实现参数包转发?

c++ templates variadic-templates template-argument-deduction

4
推荐指数
2
解决办法
67
查看次数