编译器不允许我安装文件处理器*p;在mainwindow.ccp中,但我可以在任何其他类中使用。
主窗口.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{
fileprocessor *p;
ui->setupUi(this);
QObject::connect(ui->Open, SIGNAL(clicked()),
this,SLOT(on_action_Open_triggered()));
}
MainWindow::~MainWindow()
{
delete ui;
}
-主窗口.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QFile>
#include <QFileDialog>
#include <QTextStream>
#include <QStandardItemModel>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
我得到了文件处理器:未声明的标识符和p:未声明标识符
@user4217633:在mainwindow.cpp
中包含fileprocessor.h
,在mainwindow.h
中不包含。你需要一份远期申报单:
class fileprocessor; // Just this
事实上,你已经有了这样一个远期声明:
namespace Ui {
class MainWindow;
}