C++ 不完整类型所引起错误的简单总结

不完整类类型:已经申明但尚未定义的类型。

不完全类型不能用于定义变量或者类的成员,但是用不完全类型定义指针或者引用是合法的。(类的前置申明)

这里需要区分引用申明定义申明的区别:

引用申明:告诉编译器这个类型已经存在了,但此时编译器并不知道需要给该类型的对象分配多少字节内存。

定义申明:描述了该类型的细节,编译器由此可以知道需要给该类型的对象分配多大的内存。

在c++中不完整类型的变现形式有哪些呢?

答:

  1. 使用void直接申明一个变量
  2. 未定义长度的数组,比如:int arr[]
  3. 前置申明的类、结构体、联合体, 比如:class A; struct A; union A

切记:代码中出现“使用不完整的类型”错误的时候,如果该对象是一个自定义类类型,那么必然是由于前置申明引起的,这个时候就要检查该类型是否已经定义。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值