【发布时间】:2015-08-27 05:23:25
【问题描述】:
我想获取可变数量的函数参数,并在函数本身中,使用模板包装类包装每个函数参数,并将这些包装类作为参数传递给另一个函数。
假设我有一个简单包装变量的模板类。
template<class T>
class Wrapper
{
public:
Wrapper(T t) : t_(t)
.
.
{}
private:
T t_;
}
我有一个函数 f 调用函数 g,将 f 的每个参数的 Wrapper 类传递给 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?
非常感谢任何帮助, 托尼
【问题讨论】:
-
你的意思是something like this 吗?不确定我是否理解了这个问题。
标签: c++ templates variadic-functions variadic