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

C++/Qt - Compile problem: syntax error : missing ';' before identifier - No idea

本文关键字:不知道 错误 Qt 编译 问题 C++ 语法 标识符      更新时间:2023-10-16

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

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();
}

开始窗口.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

主窗口.h

#ifndef MAINWINDOW_H_
#define MAINWINDOW_H_
#include <qdialog.h>
#include "StartWindow.h"
class MainWindow : public QDialog
{
  Q_OBJECT
public:
  MainWindow();
  ~MainWindow();
};
#endif

我得到以下错误:

moc_MainWindow.cpp

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

我以前写过一些C++/Qt应用程序,但我被它迷住了!

提前感谢!

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

相关文章: