未知语法void(Type :: m_function)()

时间:2014-11-14 18:35:51

标签: c++

我目前正在阅读一些代码并遇到了一些我不理解的内容。

第一

void Foo()
{
    (((Type*)parent)->*m_function)();
}

据我所知,他们正在将父级转换为Type,然后调用dereferenced函数?我不确定之前是否看过 - > * m_function。

此外,我无法看到m_function在哪里声明?其中包含更多我不理解的语法。它是否声明一个返回void的函数并获取函数的参数?但功能名称在哪里?

class Foo()
{
    void (Type::*m_function)();
};

1 个答案:

答案 0 :(得分:2)

它使用指向此函数的指针调用成员函数:C++ Call Pointer To Member Function

是的,void (Type::*m_function)();声明m_function类型的成员“类型的成员函数取0 args并返回void”