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;

};

阅读更多
文章标签: c++ class
上一篇[转帖] 在Tornado下的C++开发
下一篇zbuf方案一:缺点直接拿结构体当缓冲区,达不到很好的速度
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭