我想做到以下幾點: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