我在头文件中按照以下方式在命名空间中定义了一个类:
#ifndef _c1_
#define _c1_
namespace classspace
{
class Aclass;
}
class Aclass
{
//body
};
#endif _c1_
我在main.cpp中添加了这个头文件,并在main()函数中创建了一个对象,但是它返回错误:未定义的类'classspace :: Aclass'
。这是我的main函数:
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
没有任何错误,正在运行。 在第一种方法中,我的错误是什么?
Aclass
,而是进行了前向声明。 - John Dibling