QT VS2008未处理的异常: 0xC0000005

症状如图所示

出错代码段在第3行

  1. QString dir = QFileDialog::getExistingDirectory(this,
  2.    tr("Save file path"), ".");
  3. txtSavePath->setText(dir);

txtSavePath为QlineEdit。分析发现在头文件中声明了txtSavePath

  1. QLabel *lbSavePath;

构造函数中由声明定义了一次

  1. QLineEdit *txtSavePath = new QLineEdit();

所以问题的根本是重定义了,但是很奇怪QT中,VS2008并没有报错,只有当运行到出错代码段时才会报上述错误。所以之所以会冲突应该就是重定义了导致内存里出错了。当然网上还有一些说法是申明了没有赋值,不过对于这种问题应该还是一个思路,那就是在变量的声明定义以及使用上一步步查看,排错。

原文地址:https://www.cnblogs.com/little-sjq/p/4429097.html