AS标题说我在使用include防护时遇到问题。我不确定我是否正确使用了它们,因此我已经检查了几篇相关的文章,它们都包含与我相同的代码。请告知我我使用包含防护有什么问题。
对于上下文,我有几个要在其他程序中使用的头文件,因为这多个文件包含相同的依赖头(链接表文件),这就是问题所在。即使我似乎有include防护,编译器仍然报告该代码具有重新定义错误。以下是无法使用的包含防护。
#ifndef UNI_LINKED_LIST_LIB_H
#define UNI_LINKED_LIST_LIB_H "uniLinkedListLibV02.h"
#include UNI_LINKED_LIST_LIB_H
#endif
我的理解是,如果我尝试多次包含此标头,则#ifndef将返回false。在第一个include中,它应该定义UNI_LINKED_LIST_H,然后包括该库。
这就是您所需要的:
#ifndef UNI_LINKED_LIST_LIB_H
#define UNI_LINKED_LIST_LIB_H
rest of code goes here
#endif
您只需要定义UNI_LINKED_LIST_LIB_H,该值无关紧要。