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;
};
