假设您有两个头文件中定义的相关结构,如下所示:
a.h 内容:
在这种情况下,递归包含是一个问题,但是两个结构体必须指向另一个结构体,如何实现这一点?
a.h 内容:
#include b.h
typedef struct A
{
B *b;
} A;
b.h 内容:#include a.h
typedef struct B
{
A *a;
} B;
在这种情况下,递归包含是一个问题,但是两个结构体必须指向另一个结构体,如何实现这一点?
#pragma once
是什么? - Jens Gustedt#ifndef MY_HEADER_H__ #define MY_HEADER_H__ ... #endif
。这意味着如果你两次 #include "foo.h",而 foo.h 中有#pragma once
,它只会应用一次声明。否则你会得到一个编译错误。 - Wernight