我的mainpp有这样的代码 1 int main(int argc, char *argv[]) 2
另外一个SS.h
1 class SS : public QWidget 2 ; 7 extern SS theApp;SSPP
1 #include "SS.h" 2 SS theApp; 3 SS::SS(QWidget *parent) : QWidget(parent) 4分析原因:
Qt要求先构造QApplication再构造QWidget,SS theApp 是一个全局的,全局对象的构造函数会在main函数之前执行,所以会先执行SS theApp再 QApplication a(argc, argv); 这违反了 Qt的规则;
解决方法:
SS *theApp; 改成指针,需要用的时候再new;
上一篇:C++ error C2143: 语法错误: 缺少“;”(在“*”的前面)
下一篇:Qt QByteArray与int、float、vector互转
Qt









