如何调用不在类本身中的成员函数指针?

问题描述 投票:0回答:1
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内部。

如何让它发挥作用?

谢谢你,
普拉文·库马尔。

c++ pointer-to-member
1个回答
0
投票

您的实施不正确。它不直接指向

data.callback
。你应该做的就是把
*
移到这里:

(data.pointer->*(data.callback))();
© www.soinside.com 2019 - 2024. All rights reserved.