我有一个在头文件1中使用的结构。我现在还需要头文件2中的结构,因为它在函数原型中使用。我已经在header file2中包含了header file1,但是这会给编译后类型重新配置带来很多抱怨?有没有直截了当的办法?我在谷歌上搜索过嵌套的头文件,但这给了我相当复杂的文章。我想知道有没有一个简单的方法来做这个?
最佳答案
当然有。使用include guards。
file1.h
#ifndef FILE1_H
#define FILE1_H
/* Define everything here. */
#endif
这样你就可以一遍又一遍地包含file1.h。特别是,如果头定义了一些内容,则应该始终使用include保护。
另外,如果不需要结构的细节(也就是说,它应该是不透明类型),可以使用不完整类型,只需在顶部说
struct yourstruct;
。关于c - 头文件2中需要头文件1中的struct,我该怎么做?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7223742/