下面的代码是抛出错误。我不知道为什么。任何人都可以点亮一下吗? 所有的代码都在不同的文件上。C2143:语法错误:缺少';'在'*'之前
#ifndef MAINSESSION_H
#define MAINSESSION_H
#include "sessionsuper.h"
#include "mainwindow.h"
class MainSession : public SessionSuper
{
public:
MainSession();
private:
};
#include "mainsession.h"
MainSession::MainSession()
{
}
#endif // MAINSESSION_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "mainsession.h"
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
MainSession *ms; //Error here
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//ms=new MainSession(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
#ifndef SESSIONSUPER_H
#define SESSIONSUPER_H
class SessionSuper
{
public:
SessionSuper();
};
#endif // SESSIONSUPER_H
#include "sessionsuper.h"
SessionSuper::SessionSuper()
{
}
错误:使用Qt + msvc10.0编译
d:\qtsrc\untitled4\mainwindow.h:20: error: C2143: syntax error : missing ';' before '*'
d:\qtsrc\untitled4\mainwindow.h:20: error: C4430: missing type specifier - int assumed. Note: C++ does not support default-int d:\qtsrc\untitled4\mainwindow.h:20: error: C4430: missing type specifier - int assumed. Note: C++ does not support default-int
上午。
更新: -
#ifndef MAINSESSION_H
#define MAINSESSION_H
#include "sessionsuper.h"
#include "mainwindow.h"
class MainSession : public SessionSuper
{
public:
MainSession(MainWindow*);
private:
MainWindow *mw;
};
#endif // MAINSESSION_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "mainsession.h"
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
MainSession *ms;
};
#endif // MAINWINDOW_H
#ifndef SESSIONSUPER_H
#define SESSIONSUPER_H
class SessionSuper
{
public:
SessionSuper();
};
#endif // SESSIONSUPER_H
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
#include "mainsession.h"
MainSession::MainSession(MainWindow mss)
{
mw=mss;
}
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//ms=new MainSession(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
#include "sessionsuper.h"
SessionSuper::SessionSuper()
{
}
错误: - 多了很多,但同类型的
显示'mainwindow.h'的内容。 – devnull
您显示的代码包含mainsession.h中的mainsessio.h请编辑帖子以使其更具意义 – stijn
所有是不同的文件。 – Sayok88