gpt4 book ai didi

c++ - 虚拟方法困惑,我怎样才能找到造成这种情况的原因?

转载 作者:太空狗 更新时间:2023-10-29 20:32:27 26 4
gpt4 key购买 nike

我的一位同事今天遇到了一些 C++ 代码的问题。他正在调试一个对象的虚拟方法的奇怪行为。每当执行方法时(在调试下,Visual Studio 2005),一切都出错了,调试器不会介入该方法,而是介入对象的析构函数!还有,对象的虚表,只列出了它的析构函数,没有其他方法。

我以前从未见过这种行为,打印了一个运行时错误,说了一些关于 ESP 寄存器的事情。我希望我能给你正确的错误信息,但我现在记错了。

不管怎样,你们有没有遇到过这种情况?什么会导致这种行为?这将如何解决?我们多次尝试重建项目,重新启动 IDE,但无济于事。我们还在该方法调用之前使用了 _CrtCheckMemory 函数来确保内存处于良好状态,并且它返回了 true(这意味着正常)。我没有更多的想法。你呢?

最佳答案

我以前见过。通常它的发生是因为我在 Debug模式下使用了发布构建的 .LIB 文件中的类。其他人可能已经看到了一个更好的例子,我会根据他们的回答给出我的答案。

关于c++ - 虚拟方法困惑,我怎样才能找到造成这种情况的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com