【发布时间】:2016-01-05 10:18:17
【问题描述】:
我有一个包含 3 个文件的项目,我很困惑什么是正确的包含顺序以及需要哪些标头保护以避免重新定义问题。 让我们将文件称为 a.c、a.h、b.c。 b.h,c.c,c.h。 在所有 3 个文件中都有我需要的功能,所以我不确定将它们放在哪里不会导致重新定义。 a.h 是主文件 - 它包含 b.h 和 c.h。 b.h 和 c.h 不包含彼此。 如何解决这个问题?我在哪里添加标头保护,我是在整个头文件中添加它们还是仅在包含此头文件的其他头文件中存在的头文件部分中添加它们? (我的意思是——我认为我不能在头文件的独特部分添加头保护——在包含它的其他头文件中不存在)。
【问题讨论】:
-
你在 b.h 和 c.h 中有重复的定义吗?
-
"寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定问题或错误和最短的代码有必要在问题本身中重现它。没有明确问题陈述的问题对其他读者没有用处。”
标签: c header include header-files