相互包含头文件

including header files in one another

如果我有两个头文件

a.hb.h

我可以在 b.h

中包含“a.h”吗

并在“a.h”中包含“b.h” ?

不,那行不通。预处理器只是将您的 #include"xyz.h" 替换为实际文件,因此这将以无休止的递归结束。

可以,但这不是一个好主意。如果你真的必须,你可以使用包含保护来防止递归(无论如何这是一个好主意)。

a.h中:

#ifndef A_H
#define A_H

#include "b.h"

#endif

b.h

#ifndef B_H
#define B_H

#include "a.h"

#endif