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

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

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

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0