'{'之前的预期类名

use*_*482 2 c++ qt qdialog qtgui qmainwindow

好吧,我是Qt的新手,但对c ++并不是很新的错误对于递归包含有效但看看我的代码我没有看到任何递归包含...我认为这是其他任何人都会帮助我跟踪错误:

'{'token {之前的预期类名

这是我的代码:

#ifndef COLE_H
#define COLE_H

#include <QDialog>
#include "mainwindow.h"

namespace Ui {
class COLE;
}

class COLE : public QDialog , public Ui::MainWindow
{
    Q_OBJECT

public:
    explicit COLE(QWidget *parent = 0);
    ~COLE();

private slots:
    void on_pushButton_clicked();

public:
    double var1;

private:
    Ui::COLE *ui;

};


#endif // COLE_H
Run Code Online (Sandbox Code Playgroud)

我知道问题来自"public Ui :: MainWindow",但我确信这应该如何.我检查了我班级的名字,它是MainWindow.

请帮忙.

lpa*_*app 6

你似乎有两个问题在进行中.

1)除非您明确地更改它,否则应该包括ui_mainwindow.h而不是mainwindow.h通常由UI编译器(即uic)默认生成的内容.我认为这不是这种情况,因为通常没有必要.

至于第二个问题,您可以通过两种不同的方式使其工作:

2a)单继承方法:简而言之,这种方式,您使用组合而不是UI类的继承.所以,如果你选择这样做,你只需要指针成员而不是继承ui类.

2b)多继承方法:简而言之,这样,你使用多重继承作为其名称而不是组合.您不以这种方式使用指针成员,而是私有地从ui类继承.

目前,您似乎对上述两种情况有一个错误的混合方式.尽量坚持其中一个.