首页  >   经验  >   C++中类定义时不允许使用不完整的类型错误提示原因分析

C++中类定义时不允许使用不完整的类型错误提示原因分析

查看 codexia 的博客 2016-02-04 19:58:15 14059
不完整   类型  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介不允许使用不完整的类型,关键在于类声明的完整性的理解。也要清楚在类声明中用本类定义对象的矛盾所在。这个矛盾就是死锁。
    在C++中定义一个类,同时在类中定义此类的对象作为类的组成部分。这个情况确实需要,然后你会发现编译器提示“不允许使用不完整的类型”错误提示。在文章《C++“不允许使用不完整类型”的解决方案》中,已经说明了如何解决此错误。
    不过为了探究此错误底下的更多的信息,让初学者更明白为什么错了,对于学习更有好处。知道为什么错了,就不会再无意中犯错。当你深入了解了之后,会让你的思想产生震撼。因为错误的背后,包含了一个思想的碰撞。只是你的理解和人家设计的不一样,当你完全知道人家设计的思想,你也就知道为什么会犯错,为什么语法要这样。
    不多说,开始进入正题。C++中类定义时不允许使用不完整的类型会在下面的代码中出现:
class A
{
    int i;
    float b;
    A aa;//定义类对象
    double c;
}
    在这个简单A类声明中,却又不平凡的味道,因为,报错啦!这是硝烟的味道。为什么有硝烟,那是因为思维开始发生碰撞。你从你的直觉思维里,看不出这个代码有什么问题,然而编译器就始终提示“不允许使用不完整的类型”。你一定会再三检查,还检查不出问题,然后开始怀疑VS是不是有Bug。你可能会创建一个新的项目测试,会发现没有问题。如果一直都找不到答案,你会比较苦恼,甚至开始怀疑人生!天啊,我连类定义都搞不好,还能学会编程吗?然后留下心理阴影。有些人因为一些问题,就放弃了编程。编程是需要内心非常强大的人的。如果你还是程序员,或者你要成为程序员,那都是很让人佩服的事情。
    就我而言,再没有搞清楚这个问题之前,也是苦恼不已,只是暂时放下了,然后继续学习。然后在不断地学习过程中,慢慢顿悟了。那是因为各种知识点蕴含的思想在脑子里碰撞,让你的脑子思考的越多,然后慢慢就能够将学到的东西前后联系起来,能够联想对比触类旁通了。这就是所谓的找到了编程的感觉。

    为了说明这个问题,我们先来看一张图:

1.微信扫码
2.点击按钮,粘贴命令
自动刷新 手动刷新
命令:rd eZZd4 复制
提示:如果您发送了命令,自动刷新会展开全文。自动刷新最多60秒,超过60秒请点击手动刷新。
创作不易,汗水不止!为防止劳动果实被爬虫窃取,开启了反爬机制,需要您发送命令继续阅读。取关会再次出现此提示。一段时间后出现此提示,请再次发送即可。如有问题,请加客服微信Freeme007处理。感谢您的理解。
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
文章标题:C++中类定义时不允许使用不完整的类型错误提示原因分析
文章地址:http://www.cjjjs.com/article/201624195815601
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:C++中类定义时不允许使用不完整的类型错误提示原因分析
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

  1. Redis数据类型和基本的操作命令 查找全网同类文章
  2. C++ Primer Plus 6th 4.12 复习题 第8题 结构体类型声明 查找全网同类文章
  3. C++ Primer Plus 6th 3.6 复习题 第10题 auto自动推导变量类型 查找全网同类文章
  4. int转为unsigned char类型的警告的分析和解决办法 查找全网同类文章
  5. 简单的基础关于数据的编程问题 查找全网同类文章
  6. linux进程中断,类型转换出错 查找全网同类文章
  7. [数据类型使用错误]这个是为什么?求大大帮忙看看,解答一下,谢谢大大们了 查找全网同类文章
  8. 关于类型转换优先级的问题 查找全网同类文章
  9. C++中类定义时不允许使用不完整的类型错误提示原因分析 查找全网同类文章
  10. C++“不允许使用不完整类型”的解决方案 查找全网同类文章
分享到:
分享文章[C++中类定义时不允许使用不完整的类型错误提示原因分析]到QQ空间

相关阅读

猜您感兴趣