error C2146 和C4430 错误

最近在使用程序编辑机器人控制程序,但是在编译程序时遇到error C2146和error c4430错误,经过网上查阅资料发现是头文件之间包含顺序引起的。

如果存在a.h和b.h这两个头文件,在a.h包含b.h头文件,同时在b.h又包含a.h头文件,那么就会有可能形成循环包含的问题。解决办法是避免出现头文件循环包含,另外有些情况可能是头文件的包含顺序存在问题,通过将头文件包含的顺序调换一下就可以解决问题。

目前遇到的问题就是头文件包含顺序不对引起的,原来的头文件包含顺序为:

#include "CCore.h"
#include "CLibCore.h"
#include "CDataAlarm.h"
#include "CDataCurPos.h"
#include "CDataNumReg.h"
#include "CDataPosReg.h"
#include "CDataPosRegXyzwpr.h"
#include "CDataSysVar.h"
#include "CDataSysVarPos.h"
#include "CDataTable.h"
#include "CDataTask.h"
此时出现的错误为:


经过一番调试之后,发现是第一个头文件和第二个头文件之间顺序不对,通过将两个头文件之间的顺序修改,错误消失。

#include "CLibCore.h"
#include "CCore.h"
#include "CDataAlarm.h"
#include "CDataCurPos.h"
#include "CDataNumReg.h"
#include "CDataPosReg.h"
#include "CDataPosRegXyzwpr.h"
#include "CDataSysVar.h"
#include "CDataSysVarPos.h"
#include "CDataTable.h"
#include "CDataTask.h"

此时可以正确的生成程序。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值