首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

,这个this指针让小弟我崩溃

2012-10-12 
求助,这个this指针让我崩溃1:IUnknown *temp (IPeople*)(this)if(riid IID_IUnknown)*ppv (temp

求助,这个this指针让我崩溃
1:IUnknown *temp = (IPeople*)(this);

if(riid == IID_IUnknown)

  *ppv = (temp = (IPeople*)(this));

else if(riid == IID_IPeople)

2: *ppv = (temp = (IPeople*)(this));



程序运行的时候出错,发现问题出在这里,可是很诡异。在1的时候调试this为地址为0X003ef640并且有虚指针指向0X10018898,这里完全正确,因为虚指针指向的是正确的虚函数表。

在2的时候调试this为地址为0X003ef640,但是诡异的是虚函数指针指向的是0X003ef640,指向了完全错误的虚函数表,这不对啊,我没动this指针



[解决办法]
第二个指针指向了(temp = (IPeople*)(this))的运行结果?
[解决办法]
第二个指针指向了(temp = (IPeople*)(this))
应该不一样。
[解决办法]
注意对象的生命周期啊,刚才的回复怎么没了

热点排行