我想编写一个函数,它可以处理可变数量的参数。在函数内部,我需要使用模板包装类(template wrapper class)对每个参数进行包装,并将这些包装后的类作为参数传递给另一个函数。
例如,如果我有一个模板类,它只是简单地对一个变量进行了包装。
例如,如果我有一个模板类,它只是简单地对一个变量进行了包装。
template<class T>
class Wrapper
{
public:
Wrapper(T t) : t_(t)
.
.
{}
private:
T t_;
}
我有一个函数f,它调用函数g,将每个f参数的包装类作为参数传递给g。
template <typename T1, typename T2, typename T3>
void f(T1 a, T2 b, T3 c)
{
g(Wrapper<T1>(a), Wrapper<T2>(b), Wrapper<T3>(c));
}
这里函数g并不重要,但可以是一系列重载函数,每个函数都有不同数量和类型的Wrapper类作为参数。
是否有一种方法可以使用可变模板来调用模板方法f,传入可变数量的参数,将它们的包装类作为同样数量的参数传递给函数g?
非常感谢任何帮助, Tony