如何在c++中实现指向类函数的函数指针?
class base
{
//...
};
typedef void(*base::PFUN)();
PFUN g_fn;
上面的代码在tc下编译不通过,指出PFUN不能有 base:: 类型。
而我记得MFC宏中消息映射链中就有类似的定义。
就通常来说,如果上面的代码能通过编译,则sizeof(g_fn)应该为8字节,函数地址+类实例指针。这使得类函数指针与普通指针不“兼容”。
所以觉得,在c++中,这种指向类函数的指针是不可实现的?如果能实现,是采用了什么机制?请大家给点指点, thanks