gpt4 book ai didi

c - c 中的 header 保护和重新定义问题

转载 作者:行者123 更新时间:2023-11-30 17:10:09 24 4
gpt4 key购买 nike

我有一个包含 3 个文件的项目,我很困惑什么是正确的包含顺序以及需要哪些 header 保护以避免重新定义问题。我们将文件称为 a.c、a.h、b.c。 b.h, c.c, c.h.所有 3 个文件中都有我需要的函数,因此我不确定将它们放在哪里,以免导致重新定义。a.h 是主文件 - 它包含 b.h 和 c.h。b.h 和 c.h 互不包含。如何解决这个问题?我应该在哪里添加 header 防护?是在整个头文件中添加它们,还是仅在包含此 header 文件的其他头文件中存在的头文件部分中添加它们? (我的意思是 - 我认为我不能在头文件的独特部分添加 header 保护 - 包含它的其他头文件中不存在这些部分)。

最佳答案

查找包含守卫,就像这样

#ifndef A.H
#define A.H

"your code"

#endif

你为守卫选择的名字并不重要。

您可以使用替代方案 #prama一次

除了您的程序之外,它还受到广泛支持。

我想说,如果可以的话,您应该尝试理解包含的 header 的层次结构。困惑是不好的

关于c - c 中的 header 保护和重新定义问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33004841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com