这家伙:
virtual phTreeClass* GetTreeClass() const { return (phTreeClass*)m_entity_class; }
调用时,即使在完全重新编译之后,程序也会因访问冲突而崩溃。所有成员函数和虚拟成员函数都有正确的内存地址(我将鼠标悬停在调试模式下的方法上),但是这个函数有一个错误的内存地址:0xfffffffc。
一切看起来都很好:'this' 指针,在这个函数调用之前一切正常。这个功能也比较老了,好久没改了。这个问题只是在一些工作后突然出现,我把它全部评论出来看看是什么做的,没有任何成功。
所以我去掉了虚拟的,编译好了,效果很好。我添加了虚拟的,编译的,它仍然可以正常工作!我基本上什么都没做,记得我之前确实做了完整的重新编译,但当时仍然有错误。
我无法重现该问题。但现在它又回来了。我没有改变任何东西。删除虚拟解决了这个问题。