我有这个代码:
// signal supporter parent
class signalable {};
template <class typeT = signalable>
typedef void (typeT::*trig)(std::string);
template <class typeT = signalable>
class trigger
{
private:
typeT* instance;
typeT::trig fun;
public:
trigger(typeT* inst, typeT::trig function)
: instance(inst), fun(function)
{}
void operator ()(std::string param)
{
(instance->*fun)(param);
}
};
而且我得到很多我打赌专业人士都知道的编译错误。我只是对这种情况有点困惑。
我想要做的很清楚:传递指向对象的指针,以及指向其中一个成员函数的指针,以创建一个仿函数并将其传递到我的程序中。
感谢您的帮助和“更正”。
谢谢!