【问题标题】:Qt heap memory corruptionQt 堆内存损坏
【发布时间】:2011-04-04 04:49:18
【问题描述】:

我正在编写一个 Qt 4.6 应用程序(没有 qt 设计器),当我关闭程序时,我从 Visual Studio 收到此错误:

Windows 在 测试.exe。

这可能是由于 堆,表示存在错误 Test.exe 或它拥有的任何 DLL 已加载。

这也可能是由于用户 在 Test.exe 获得焦点时按 F12。

输出窗口可能有更多 诊断信息。

这里是源代码:

(你不能编译,我不能分享用过的库)

怎么了?

【问题讨论】:

  • 为什么不把代码贴在这里?否则使用pastebin.com
  • 这是 6 个文件,我认为这更容易。我现在将文件添加到 pastebin。

标签: c++ windows visual-c++ qt


【解决方案1】:

我上个月遇到了同样的错误,但由于很多不同的问题都可能导致它,我不确定我的回答是否会对您有所帮助。

这是由没有虚拟析构函数的派生类 (Child) 引起的。每次调试器进入 Child 的析构函数时都会弹出错误。由于我在工作,无法访问网站获取源代码,因此无法查看。

希望对你有帮助

【讨论】:

  • 我已将文件添加到pastebin,您可以查看。我会试试你的建议,也许会有帮助。
【解决方案2】:

ExtWiiMote.h 你声明了

QLabel* dots[3][3];

ExtWiiMote.cpp 中使用dots[3][0]...

修复 dots 数组大小,您可能会没事的。

【讨论】:

  • 谢谢,这就是问题所在!
猜你喜欢
  • 2015-06-11
  • 2021-03-05
  • 2011-08-21
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多