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的非此類情況,找到后感覺自己很傻很天真
當寫成員函數忘記寫返回值類型的時候也會報這個錯
