我目前正在阅读一些代码并遇到了一些我不理解的内容。
第一
void Foo()
{
(((Type*)parent)->*m_function)();
}
据我所知,他们正在将父级转换为Type,然后调用dereferenced函数?我不确定之前是否看过 - > * m_function。
此外,我无法看到m_function在哪里声明?其中包含更多我不理解的语法。它是否声明一个返回void的函数并获取函数的参数?但功能名称在哪里?
class Foo()
{
void (Type::*m_function)();
};
答案 0 :(得分:2)
它使用指向此函数的指针调用成员函数:C++ Call Pointer To Member Function
是的,void (Type::*m_function)();
声明m_function
类型的成员“类型的成员函数取0 args并返回void”