所以我有这个功能:
void EventDispatcher::Subscribe(string eventName, void (*callback)(void *))
{
....
}
我正在尝试将类成员函数作为回调参数传递给那里。
typedef void (*method)(void*);
void EventTester::RunTests()
{
_dispatcher = new EventDispatcher();
Event eventOne("one");
_dispatcher->Register("one", eventOne);
method p = &onOne;
_dispatcher->Subscribe("one", p);
}
void EventTester::onOne(void *args)
{
std::cout<<"Event one\n";
}
显然这不会编译,因为 onOne 不是静态的并且是成员函数。有没有办法让它以这种方式工作?