ISO C++ forbids declaration of * with no type


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的非此類情況,找到后感覺自己很傻很天真

當寫成員函數忘記寫返回值類型的時候也會報這個錯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM