任意成员函数传递到模板函数中,是可以的
template<typename R, typename...TS>
void setm(R(C::*fn)(TS...ts)){}
setm(&Class::Function);// ok
全局的普通函数如何传递给模板函数呢?
template<typename ...TS>
void set(void(*fn)(TS... ts));
set([](int){});// C2784
ps:我不想用std::function/std::bind
lambda
表达式无法完成自动类型推导。所以你要强制转换下对是对的