template< typename T >
void addVarCB(const std::string &name,
TwSetVarCallback setCallback, TwGetVarCallback getCallback,
void * clientData, const std::string &def = "" );
template< class C, typename T >
void addVarCB(const std::string &name,
C * _this, T(C::*getter)(void), const std::string &def = "");
以下代码将在运行时编译并崩溃:
bar_->addVarCB<MyClass, unsigned>("foo", this, &MyClass::MyClassFn, nullptr);
我实际上希望它根本不会编译,因为没有将其参数作为参数的函数!(请注意,“MyClass,未签名”是不必要的,但只是为了清楚......)