最近编了几个Qt的小程序,其中几个出现了error C2143: syntax error : missing ';' before '<cv-qualifer>'这个错误,编写的时候也没注意检查,在网上苦苦寻找,也没怎么找到几个像样的说法,今天再把这几个小程序细细一看,发现声明类的时候忘记在类后面加分号了。。。傻逼了。。。
错误如下:
1>.\debug\moc_QtStudy.cpp(19) : error C2143: syntax error : missing ';' before '<cv-qualifer>'
1>.\debug\moc_QtStudy.cpp(19) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>.\debug\moc_QtStudy.cpp(19) : warning C4091: 'static ' : ignored on left of 'const int' when no variable is declared
1>.\debug\moc_QtStudy.cpp(19) : error C2144: syntax error : 'uint' should be preceded by ';'
1>main.cpp
1>.\main.cpp(5) : error C2144: syntax error : 'int' should be preceded by ';'(这个错误是因为man.cpp中引用的#include "QtStudy.h"中存在错误所致)
1>QtStudy.cpp
1>.\QtStudy.cpp(4) : error C2533: 'QtStudy::{ctor}' : constructors not allowed a return type
1>Generating Code...
最后检查源代码:
#ifndef QTSTUDY_H
#define QTSTUDY_H
#include <QDialog>
#include <QPushButton>
#include <QLabel>
class QtStudy:public QDialog
{
Q_OBJECT
public:
QtStudy(QWidget * parent = 0, Qt::WindowFlags f = 0);
~QtStudy();
private:
QPushButton* pushbutton;
QLabel* label;
}
#endif
声明完类之后竟然忘记添加分号;,哎,弱智,大家就当笑话看了吧。
修改后编译正常。。。
#ifndef QTSTUDY_H
#define QTSTUDY_H
#include <QDialog>
#include <QPushButton>
#include <QLabel>
class QtStudy:public QDialog
{
Q_OBJECT
public:
QtStudy(QWidget * parent = 0, Qt::WindowFlags f = 0);
~QtStudy();
private:
QPushButton* pushbutton;
QLabel* label;
};
#endif