次のプログラムを作成しましたが、エラーが発生しました。私は約3時間で無駄なエラーを探しました。あなたと一緒に問題を話したいと思います。 私はエラーが取得しています: '{' トークン継承エラー
#ifndef ASKDIALOG_H
#define ASKDIALOG_H
#include <QDialog>
#include "umerwindow.h"
namespace Ui {
class AskDialog;
}
class AskDialog : public QDialog, public UmerWindow // HERE IS THE ERROR
{
Q_OBJECT
public:
explicit AskDialog(QWidget *parent = 0);
void showdialog();
~AskDialog();
private slots:
void on_dokbutton_clicked();
private:
Ui::AskDialog *ui;
};
#endif // ASKDIALOG_H
DIALOG .cppファイルをASK
#include "askdialog.h"
#include "ui_askdialog.h"
AskDialog::AskDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::AskDialog)
{
ui->setupUi(this);
}
AskDialog::~AskDialog()
{
delete ui;
}
void AskDialog::on_dokbutton_clicked()
{
QString data=ui->dline->text();
showlist(data);
}
前に予想されるクラス名をDIALOG .cppファイルをASK
#include "askdialog.h"
#include "ui_askdialog.h"
AskDialog::AskDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::AskDialog)
{
ui->setupUi(this);
}
AskDialog::~AskDialog()
{
delete ui;
}
void AskDialog::on_dokbutton_clicked()
{
QString data=ui->dline->text();
showlist(data);
}
[OK]を、このようにUmerWindowのヘッダファイル
#ifndef UMERWINDOW_H
#define UMERWINDOW_H
#include <QMainWindow>
#include <QListWidgetItem>
#include "askdialog.h"
namespace Ui {
class UmerWindow;
}
class UmerWindow : public QMainWindow
{
Q_OBJECT
public:
explicit UmerWindow(QWidget *parent = 0);
~UmerWindow();
protected:
void showlist(QString &);
private slots:
void on_actionAdd_Item_triggered();
private:
Ui::UmerWindow *ui;
QListWidgetItem *itm;
AskDialog *dialog;
};
、これは私がこの問題を解決するために何をすべきUmerWIndow
#include "umerwindow.h"
#include "ui_umerwindow.h"
#include "askdialog.h"
#include <QListWidgetItem>
UmerWindow::UmerWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::UmerWindow)
{
ui->setupUi(this);
dialog= new AskDialog(this);
}
UmerWindow::~UmerWindow()
{
delete ui;
}
void UmerWindow::on_actionAdd_Item_triggered()
{
dialog->show();
}
void UmerWindow::showlist(QString &data)
{
}
の.cppファイルのですか?助けてください。
PS:私も継承せずに試してみました、コンパイラは私に奇妙なエラーを与える:ISO C++が無いタイプで「UmerWindow」の宣言を禁じとエラー:予想「;」 before '' token *私はaskdialog.hファイルにUmerWindowのポインタオブジェクトを作成します。今私は何をすべきですか?
これらの文字は何ですか? –
Umerwindow.hクラス宣言のクラス宣言の最後に ';'がないか、 'AskDialog'を前方に宣言しているのはなぜですか? – Naveen
私は彼が意図したことは、すべての一重引用符を削除してからコンパイルしてみることです。 – bluefalcon