今天被成员函数指针害了!
平时我们当一个类的成员中有一个其他类型的成员指针时,为了减少头文件依赖,经常使用声明方式
class Session;
而不是用
#include “Session.h”
而,如果不小心你用了Session的函数成员指针,如
void (Session::*handler)(Packet& recvPacket);
不幸的是,在运行时,和编译时的,sizeof将不一致,从我目前来看,编译时占用了16个字节,而,作为指针在 32位机器下应该为4个字节,而导致很多莫名其妙的问题
特此,留念