头文件中不能定义函数变量,否则多个C文件包含同一个头文件时会出现重复定义错误。

但是如果头文件里只有宏定义(或是只有声明和宏定义),同样的多个C文件包含了这个头文件,这样会不会出现重定义错误啊?望高手指教!多谢!... 但是如果头文件里只有宏定义(或是只有声明和宏定义),同样的多个C文件包含了这个头文件,这样会不会出现重定义错误啊?望高手指教!多谢! 展开
 我来答
东兴南店B4
2012-07-25 · 超过28用户采纳过TA的回答
知道答主
回答量:156
采纳率:0%
帮助的人:68万
展开全部
头文件中使用个这个宏应该就解决问题了:

#ifndef ABCDEFGXXXX
#define ABCDEFGXXXX
......................你的头文件内容
#endif

这样重复定义直接就解决了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宴坐AI观山海
2012-07-25 · 以禅意心态,探索自然与科技共生
宴坐AI观山海
采纳数:8 获赞数:14

向TA提问 私信TA
展开全部
在写头文件时,一般都会使用如下方式:
#ifndef HEAD_H
#define HEAD_H
....
....
你所需要的定义
....
....
#endif
这样就不会出现你说的那种错误了,楼主不妨试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zml81620
2012-07-25 · TA获得超过117个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:75.3万
展开全部
头文件都有一句

#ifndef YOUR_HEADER
#define YOUR_HEADER

#endif

可以解决你的问题。
追问
这样能解诀不同C文件包含同一个头文件而出现的重定义错误码?
还有请问高手在头文件的运用时有什么经验技巧吗?还请指教!谢谢!
追答
建议你分两种情况试验下
头文件不带上面的宏 编译 有什么问题
带上宏 再编译 会怎样
效果会更好。
你理解的会更清楚些。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山人均
2012-07-25
知道答主
回答量:64
采纳率:0%
帮助的人:19.5万
展开全部
一般都是用宏定义来搞的,可以避免出现重定义错误的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式