我想做到以下几点:C++ 11可变参数模板参数扩展
template<typename Func>
class FunctionWrapper
{
public:
typedef decltype(Func()) ReturnType;
typedef ... ArgsType;
FunctionWrapper(Func func)
{
func_ = func;
}
ReturnType operator() (ArgsType args)
{
return func_(args);
}
private:
Func func_;
};
问题是我不知道如何来推断从Func键类型ArgsType。当函数返回/不接受时,我想让它工作。
的用例将被:
FunctionWrapper<myFunction> wrapper;
auto result = wrapper(1, 2, 3);
您可以'运营商()'模板成员函数及其参数转发到'func_'。 – Lingxi 2015-04-01 14:44:26
@Lingxi有没有办法让它在声明包装器时推导出ArgsType? – iggy 2015-04-01 14:46:27