我有一个旧的C ++ MFC应用程序
当我升级解决方案以使用visual studio 2013工具集而不是visual studio 2010然后成功重新编译它时,在运行时和访问冲突异常发生时,当我再次使用2010工具集重新编译时,异常已经消失,我调试了它发现当一个类[覆盖父虚方法并从该覆盖方法调用它的父方法]当调试器在该重写方法中遇到断点时,成员值在调用其父级时是正确的#39 ; s方法并且执行单个语句成员值是随机的,例如Parent => 0x06d6ef它变成0xfffff而CWnd的hWnd是0x00000并且变成0x000001等等,如果检查是否成员Parent!= nullptr然后调用a其中的方法,并导致异常。在子项
中执行时,this指针的值保持正确这里的问题是成员数据被破坏并且其值被更改的原因,当我使用工具集与2010编译时,这不会发生。