相互包含头文件
including header files in one another
如果我有两个头文件
a.h
和 b.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
如果我有两个头文件
a.h
和 b.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