次のように、ヘッダーの名前空間にクラスを定義しました
#ifndef _c1_
#define _c1_
namespace classspace
{
class Aclass;
}
class Aclass
{
//body
};
#endif _c1_
このヘッダーを main.cpp に追加し、main() でオブジェクトを作成しましたがundefined class 'classspace::Aclass'
、メインのエラーが返されました
void main()
{
classspace::Aclass b;
}
クラスを次のように定義したとき
class classspace::Aclass
{
//body
};
エラーが解決しました。最初のアプローチを使用してQtメインウィンドウファイルで見ました:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
エラーなしで動作しています。最初のアプローチで私の間違いは何ですか?