struct CALLBACK_DATA
{
Object *pointer;
void (Object::*callback)();
};
int main()
{
CALLBACK_DATA data = getData();
//This isn't working.
(data.pointer)->(data.*callback)();
}
这里回调指针不在类Object内部,而是在CALLBACK_DATA内部。
如何让它发挥作用?
谢谢你,
普拉文·库马尔。
您的实施不正确。它不直接指向
data.callback
。你应该做的就是把*
移到这里:
(data.pointer->*(data.callback))();