这段代码以前工作过,没有我做任何更改就停止了。这是我的mainwindow.h:

#include <QMainWindow>
#include <QImage>
#include "videoengine.h"
#include "tracker.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void updateCoordinateLabels();

private:
    Ui::MainWindow *ui;
    VideoEngine *videoEngine;
    Tracker *tracker;
    void test();
};


我在Tracker *tracker;行收到3条错误消息:

C2143: syntax error: missing ';' before '*'
C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C2238: unexpected token(s) preceding ';'


跟踪器是我定义的一类,根据QT,它没有问题。该类型应该是Tracker,我不知道为什么假设它可能是int类型。

我究竟做错了什么?

最佳答案

您尚未在代码中指出与错误有关的行。此外,您还没有显示所有代码。

考虑到这一点,可能是罪魁祸首:

跟踪器可能在名称空间中定义,因此您需要完全限定声明中的类型。

您没有运行Qmake?

关于c++ - QT Creator C++ MSVC15:缺少类型说明符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47756563/

10-13 09:41