C++/Qt - 编译问题:语法错误:缺少';' 标识符之前 - 不知道

nf3*_*743 3 c++ qt

我有以下非常简单的代码:

main.cpp中

#include "ui_library_browser.h"
#include <QtGui/QApplication>
#include "StartWindow.h"
int main(int argc, char *argv[])
{
  QApplication a(argc, argv);
  StartWindow w;
  w.show();
  return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

StartWindow.h

#ifndef STARTWINDOW_H_
#define STARTWINDOW_H_

#include <qwidget>
#include "MainWindow.h"

class StartWindow : public QWidget
{ 
  Q_OBJECT

public:
  StartWindow();
  ~StartWindow();
  MainWindow main_window;  //<-- Problem
};
#endif
Run Code Online (Sandbox Code Playgroud)

MainWindow.h

#ifndef MAINWINDOW_H_
#define MAINWINDOW_H_

#include <qdialog.h>
#include "StartWindow.h"

class MainWindow : public QDialog
{
  Q_OBJECT

public:
  MainWindow();
  ~MainWindow();
};
#endif
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

moc_MainWindow.cpp

StartWindow.h(14):错误C2146:语法错误:缺少';' 在标识符'main_window'StartWindow.h(14)之前:错误C4430:缺少类型说明符 - 假定为int.注意:C++不支持default-int StartWindow.h(14):错误C4430:缺少类型说明符 - 假定为int.注意:C++不支持default-int

我以前写过一些C++/Qt应用程序,但我对此感到很满意!

提前致谢!

tib*_*bur 10

您对标头有循环依赖关系.#include "StartWindow.h"MainWindow.h文件中删除.