令人抓狂的错误~~~~~ 怎么回事儿呀。加个头文件,连基类都不认了?

celinebird 2009-05-28 03:54:03
今天用C++编程序,写好了一个类,在主函数中,生成这个类的对象,并调用它的方法,这个方法可以被正确调用。

然后,要将这个类的对象的引用做为其它它的方法的参数时,将这个类的.h包括到这个类的头文件中,随后恶梦就出现了,总是出现以base class undefined问题为首的三百多个错误,大家有没有遇到过类似的情况,快快传授一点经验呀~~~~~~~~谢啦。。。
...全文
181 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2009-05-29
  • 打赏
  • 举报
回复
最可能的原因是你头文件之间循环包含,造成超前引用
参考一下我的文章http://www.vckbase.com/bbs/prime/viewprime.asp?id=431
celinebird 2009-05-29
  • 打赏
  • 举报
回复
感谢大家,应该就是头文件包含的问题,加了一堆class [类名], 总算勉强能编译通过了。呵呵
acdbxzyw 2009-05-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hw324306893 的回复:]
#ifndef
#define
...
#endif
[/Quote]

是不是这个问题?
Michael_g 2009-05-28
  • 打赏
  • 举报
回复
很可能是你 include 位置不对,
也就是说 你的这个.h文件在它所使用的基类之前引入的或其基类在这个文件根本没有引入.
  • 打赏
  • 举报
回复
进来学习的
hofstede 2009-05-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jerrywjh 的回复:]
采用forward declaration

xxx.h 文件中

class xxx;

class xxx
{
....

}

头文件不要包含自身的头文件
[/Quote]
skyfree 2009-05-28
  • 打赏
  • 举报
回复
采用forward declaration

xxx.h 文件中

class xxx;

class xxx
{
....

}

头文件不要包含自身的头文件
goodname 2009-05-28
  • 打赏
  • 举报
回复
示意一下代码就行,不必都写出来。
celinebird 2009-05-28
  • 打赏
  • 举报
回复
代码有点多,贴出来不方便,我的QQ:274390401, 高手加我,帮我一下吧。。。。
hw324306893 2009-05-28
  • 打赏
  • 举报
回复
#ifndef
#define
...
#endif
ofcourseqi 2009-05-28
  • 打赏
  • 举报
回复
没有明白楼主的话,看看是不是类函数定义文件直接拿去用了?
  • 打赏
  • 举报
回复

#ifdef
//.....
#endif
operatingtuzi 2009-05-28
  • 打赏
  • 举报
回复
将这个类的.h包括到这个类的头文件中

自己包括自己吗。。。 不太理解。。
Treazy 2009-05-28
  • 打赏
  • 举报
回复
帖点示例代码吧

光你这么说没看出问题!
lingyin55 2009-05-28
  • 打赏
  • 举报
回复
在用到这个类的头文件的前面写上 class 被用的类名;
中才德创 2009-05-28
  • 打赏
  • 举报
回复
如此描述,别人难以回答.

不能贴码吗?
celinebird 2009-05-28
  • 打赏
  • 举报
回复
自己顶一下,大家来救救我呀~~~~~

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧