【发布时间】:2019-03-05 04:42:30
【问题描述】:
我有一个可变参数模板函数 F,它必须恰好被两个对象调用。因此,另一个名为 G 的函数将调用 F 两次,一次用于对象一,另一次用于对象二。因此 G 也是可变参数的,但问题是对 F 的两次调用的两个可变参数包可能不同,并且 G 必须知道哪个调用对象一,哪个调用对象二:
template< typename ...Args>
void F(Obj obj);
template<typename ...Args1, typename ...Args2>
void G(Obj obj_1, Ojb obj_2)
{
F<Args1...>( obj_1 );
F<Args2...>( obj_2 );
}
现在如果我调用 G,obj_1 调用哪个版本的 F,obj_2 调用哪个版本?调用G时如何正确指定?
【问题讨论】:
-
您可以将包包装为元组并转发它们。