还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

error: ISO C++ forbids declaration of 'XXXX' with no type

来源:清泛原创     2016-06-07 11:23:19    人气:     我有话说( 0 人参与)

出现这个错误,一般是由于两个CPP相互都相互包含了对方的头文件造成的,比如:当mainwindow cpp、configdialog cpp两个文件,分别包含了对方的头文件,并且分别又在自己的类中声明

出现这个错误,一般是由于两个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;
};

拓展:class 修饰后,只申明,不分配内存。头文件也可省略不写,但必须是以指针的形式申明。
class Declare;(
class Declare *dec;(
class Declare dec;  (×

C++ ISO

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: