How Can I Pass an Undefined Method Like an Undefined Function
问题 Given that I was passing the undefined function: void foo(char, short); I learned how to obtain the type tuple of the arguments by calling decltype(m(foo)) with this function: template <typename Ret, typename... Args> tuple<Args...> m(Ret(Args...)); I would now like to pass an undefined method: struct bar { void foo(char, short); }; I had tried rewriting m like: template <typename Ret, typename C, typename... Args> tuple<Args...> m(Ret(C::*)(Args...)); But when I try to call this similarly