如何避免重复包含头文件?

umbrella1984 2005-05-23 04:42:14
例如头文件a和b,CPP文件c,a包含了b,cpp又包含了b和a,这样就造成了两次包含b,编译会提示重复定义,如何写代码才能避免?
...全文
1187 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeeeitch 2005-05-23
  • 打赏
  • 举报
回复
微软编译器参数: #pragma once
qfeng_zhao 2005-05-23
  • 打赏
  • 举报
回复
对阿,用条件编译
xiaolele 2005-05-23
  • 打赏
  • 举报
回复
#ifndef H_HEADFILENAME
#define H_HEADFILENAME

文件内容。。。。。。。。。

#endif
lw1a2 2005-05-23
  • 打赏
  • 举报
回复
同上,而且,建议用工程来管理文件
积木 2005-05-23
  • 打赏
  • 举报
回复
在头文件的前面加上一个唯一的宏,然后判断这个宏是不是被定义了,如果被定义了,就证明这个头文件被包含,就不再编译这个文件。
#ifndef H_HEADFILENAME
#define H_HEADFILENAME

文件内容。。。。。。。。。

#endif
xeonwang 2005-05-23
  • 打赏
  • 举报
回复
借问一下:
假若我在头文件a中定义一个类CA, 在头文件b中定义了一个类CB,CA的定义中有个CB类型的成员变量m_b,CB的定义中又有一个CA类型的成员变量m_a,我让头文件a包含头文件b,头文件b又包含了头文件a,
请问能通过编译吗?
ysbcg 2005-05-23
  • 打赏
  • 举报
回复
在头文件中 只能包含声明 而不能进行定义操作
safe_man 2005-05-23
  • 打赏
  • 举报
回复

#pragma once
sunnyrxm 2005-05-23
  • 打赏
  • 举报
回复
#ifndef H_HEADFILENAME
#define H_HEADFILENAME

文件内容。。。。。。。。。

#endif


簡單的條件編譯問題

64,662

社区成员

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

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