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;
};
转自http://www.cnblogs.com/wanghetao/archive/2012/02/20/2360588.html——[转自:http://lion3875.blog.sohu.com/152013483.html]
以下为自己出这个bug的非此类情况,找到后感觉自己很傻很天真
当写成员函数忘记写返回值类型的时候也会报这个错