热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

类声明超前引用的一个未定义的问题

有一个类声明的错误,特记录。类声明类声明这东西很奇怪,而且没包含其头文件,居然也可以用,下面关于超前引用的文章说是用来解

有一个类声明的错误,特记录。

类声明

类声明这东西很奇怪,而且没包含其头文件,居然也可以用,下面关于超前引用的文章说是用来解决超前引用的一个办法。

-------A.h---------

class B;

class A

{

B b;

//其它代码

}

 

------A.cpp-------

B b;  //这里会报错,提示说B示定义

        //因为这里没有加#include B.h

 

=============

其实当时的情况比这复杂,所以错误比较难找。

B是一个基类,有虚函数draw(),在A.h中有类声明

C继承于B,重载了虚函数draw(),在A.h中有类声明

-------A.h---------

class B;

class C;

class A

{

C *m_c;

//其它代码

}

------A.cpp----------

#include A.h

#include C.h

//但没包含B.h

m_c->draw();//这里一直提示没定义,然后以为是虚函数的问题,其实不是,包含B.h后才解决。

 

超前引用

http://www.vckbase.com/bbs/prime/viewprime.asp?id=431


推荐阅读
author-avatar
Cockroach小小强
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有