编译器不会让我实现文件处理器* p;在mainwindow.ccp但我可以在任何其他类。
mainwindow.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;
}
-mainwindow.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:未声明的标识符
答案 0 :(得分:0)
@ user4217633:在fileprocessor.h
中包含mainwindow.cpp
,在mainwindow.h
中包含 。你需要一个前瞻声明:
class fileprocessor; // Just this
事实上,你已经有了这样一个前瞻声明:
namespace Ui {
class MainWindow;
}