我正在学习QT,当我创建项目时,这是小部件类的标题:
#ifndef NOTEPAD_H
#define NOTEPAD_H
#include <QMainWindow>
namespace Ui {
class Notepad;
}
class Notepad : public QMainWindow
{
Q_OBJECT
public:
explicit Notepad(QWidget *parent = 0);
~Notepad();
private:
Ui::Notepad *ui;
};
#endif // NOTEPAD_H
为什么不在命名空间范围内定义类?这是最佳实践吗?
答案 0 :(得分:4)
此代码正向声明Ui::Notepad
,然后定义::Notepad
。 它们不是同一类型,尽管它们具有相同的名称(这本身就是一个愚蠢的决定)。