症状如图所示
出错代码段在第3行
-
QString dir = QFileDialog::getExistingDirectory(this,
-
tr("Save file path"), ".");
-
txtSavePath->setText(dir);
txtSavePath为QlineEdit。分析发现在头文件中声明了txtSavePath
-
QLabel *lbSavePath;
构造函数中由声明定义了一次
-
QLineEdit *txtSavePath = new QLineEdit();
所以问题的根本是重定义了,但是很奇怪QT中,VS2008并没有报错,只有当运行到出错代码段时才会报上述错误。所以之所以会冲突应该就是重定义了导致内存里出错了。当然网上还有一些说法是申明了没有赋值,不过对于这种问题应该还是一个思路,那就是在变量的声明定义以及使用上一步步查看,排错。