📄 subject_58968.htm
字号:
<p>
序号:58968 发表者:鸢飞鱼跃 发表日期:2003-11-05 10:49:25
<br>主题:头文件互相包含,怎么解决呢
<br>内容:在程序中,a.h中要用到b中的变量,而b中又有a的变量,应该怎么include?<BR>谢谢
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:无情阁东雪 回复日期:2003-11-05 11:18:12
<br>内容:#if !defined __A_H__<BR>#define __A_H__<BR><BR>.<BR>.<BR>.<BR>..<BR><BR>#endif
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:无情阁东雪 回复日期:2003-11-05 11:19:12
<br>内容:#ifndef __A_H__<BR>#define __A_H__<BR><BR>.<BR>.<BR>.<BR>..<BR><BR>#endif
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鸢飞鱼跃 回复日期:2003-11-05 11:28:31
<br>内容:我是这样做的:<BR>a.h文件中<BR>#ifndef __A_H__<BR>#define __A_H__<BR>#endif <BR><BR>#ifndef __B_H__<BR>#include "B.h"<BR>#endif <BR><BR>b.h文件中<BR>#ifndef __B_H__<BR>#define __B_H__<BR>#endif <BR><BR>#ifndef __A_H__<BR>#include "A.h"<BR>#endif <BR><BR>但是结果还是不对,求救!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:金枪鱼 回复日期:2003-11-05 13:25:08
<br>内容:我个人的想法是:(不知道是否正确)<BR><BR>既然有#pragma once开始<BR>在B的.h文件前部包含a.h<BR>在A的.h文件前部包含b.h<BR>即可
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鸢飞鱼跃 回复日期:2003-11-05 16:36:22
<br>内容:好像不行啊<BR>另外,在MFC生成的代码中,这两句什么意思?<BR>#if _MSC_VER > 1000<BR>#pragma once<BR>#endif // _MSC_VER > 1000<BR><BR>_MSC_VER代表什么?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:qqdove 回复日期:2003-11-05 16:37:14
<br>内容:a中#include "b.h"<BR>b头文件类定义前class a;<BR>再在b的cpp中#include"a.h"<BR>a中声明一个b的变量<BR>b中声明一个指向a的指针。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:无情阁东雪 回复日期:2003-11-05 18:49:12
<br>内容:有没有搞错,是这样的<BR><BR>#ifndef __A_H__<BR>#define __A_H__<BR><BR>这中间放你的程序代码<BR><BR><BR><BR>#endif
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鸢飞鱼跃 回复日期:2003-11-05 19:08:07
<br>内容:to 七楼的<BR>你这个是放在cpp文件,还是h文件里?<BR>放在h文件里试了,不行 :(
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:qqdove 回复日期:2003-11-05 22:10:14
<br>内容:我试过,#include "b.h"放在a的头文件里<BR>class a;放在b的头文件里,类的定义前<BR>#include "a.h"放在b的cpp文件开头。<BR>b头文件里的声明的a的实例不是指针的话也编译不通过。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:无情阁东雪 回复日期:2003-11-05 22:20:26
<br>内容:在a类的头文件中<BR>#ifndef __A_H__<BR>#define __A_H__<BR><BR>这中间放你的程序代码<BR><BR><BR><BR>#endif <BR><BR>在b类的头文件中<BR><BR>#ifndef __B_H__<BR>#define __B_H__<BR><BR>这中间放你的程序代码<BR><BR><BR><BR>#endif
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鸢飞鱼跃 回复日期:2003-11-06 10:19:51
<br>内容:to 9楼的,<BR>为什么非得是指针呢?<BR><BR>to 10楼的<BR>谢谢你,但是你说的方法我试了,不行
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鸢飞鱼跃 回复日期:2003-11-06 10:21:31
<br>内容:再问下10楼的<BR>按照我的理解,应该是如果没有定义 b.h,则要包含(include)b.h,<BR>为什么是define呢?<BR>谢谢关注
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:无情阁东雪 回复日期:2003-11-07 12:42:50
<br>内容:呵呵,你还真是不能理解!!!!!<BR>自己去看一下VC自动生成的头文件!!!!!!!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:鸢飞鱼跃 回复日期:2003-11-08 09:19:47
<br>内容: 呵呵,别这样撒。我也知道VC自动生成的头文件是什么样式,不是想知其所以然吗
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -