清泛IT社区
标题: error: ISO C++ forbids declaration of 'XXXX' with no type [打印本页]
作者: 清泛网 时间: 2015-10-16 15:54
标题: error: ISO C++ forbids declaration of 'XXXX' with no type
出现这个错误,一般是由于两个CPP相互都相互包含了对方的头文件造成的,比如:
当mainwindow.cpp、configdialog.cpp两个文件,分别包含了对方的头文件,并且分别又在自己的类中声明了对象,即:
mainwindow.cpp
#include "configdialog.h"
class MainWindow {
ConfigDialog *configDialog;
};
configdialog.cpp
#include "mainwindow.h"
class ConfigDialog {
MainWindow *mainWindow;
};
解决方法:在声明对象的类名称前追加关键字“class”,即修改如下:
mainwindow.cpp
#include "configdialog.h"
class MainWindow {
class ConfigDialog *configDialog;
};
configdialog.cpp
#include "mainwindow.h"
class ConfigDialog {
class MainWindow *mainWindow;
};
拓展:class 修饰后,只申明,不分配内存。头文件也可省略不写,但必须是以指针的形式申明。
class Declare;(√)
class Declare *dec;(√)
class Declare dec; (×)
欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/) |
Powered by Discuz! X3.3 |