我有两个文件player.h和accountTab.h
我需要在accountTab.h中引用来自player.h的player()类
和
来自accountTab.h的Ui::accountTab
在mainwindow.h中,我将player()声明为:
class player *user;
它有效
在player.h中,我尝试声明Ui::accountTab类似于player:
class Ui::accountTab *tab;
但这是行不通的。它引发错误。
accountTab.h:
#include <QMainWindow>
#include <player.h>
namespace Ui {
class accountTab;
}
class accountTab : public QMainWindow
{
Q_OBJECT
public:
explicit accountTab(QWidget *parent = 0);
class player *user;
~accountTab();
private slots:
void on_cleanZoo_clicked();
void on_collectStars_clicked();
private:
Ui::accountTab *ui;
};
最佳答案
class
关键字。正确的声明是:player *user;
UI::accountTab *tab;
accountTab
类的定义移到其声明的 namespace 中:namespace Ui {
class accountTab : public QMainWindow
{
public:
explicit accountTab(QWidget *parent = 0);
class player *user;
~accountTab();
private:
void on_cleanZoo_clicked();
void on_collectStars_clicked();
private:
Ui::accountTab *ui;
};
}
private slots:
和单词QObject
似乎不正确。也许只是打印错误,但您应该修复它。