error C4430: 缺少类型说明符

C++编译错误解析
本文探讨了C++编译过程中常见的错误,如语法错误和类型说明符缺失,并分析了这些错误产生的原因,特别是由于头文件包含不当导致的无限递归问题。

error C2143: 语法错误 : 缺少“;(在“*”的前面)

error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

 

目前遇到的产生错误的原因有两个:

①  未包含相应类的头文件

②  文件之间产生了无限递归终止

通常在文件的头都会定义 #pragma once,或者是 #ifndef ……#define ……#endif

例如a.h中定义类a,同时有以下语句”#include ”b.h” ”b.h中定义了类b,同时有以下语句”#include ”a.h” ”。就会出现上述错误。

假设编译先从类a开始,将会经历以下过程:

a开始编译——类b开始编译(因为a.h中包含#include ”b.h”)——编译类a(因为b.h中包含#include ”a.h”)——终止(因为a已经开始编译,且只编译一次),最终类b无法编译完成产生以上错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值