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的非此类情况,找到后感觉自己很傻很天真

当写成员函数忘记写返回值类型的时候也会报这个错

原文链接: https://www.cnblogs.com/babetterdj/p/7862233.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    ISO C++ forbids declaration of * with no type

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/263644

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午3:59
下一篇 2023年2月14日 下午4:00

相关推荐