dan*_*705 1 c struct circular-dependency include circular-reference
所以我有两个结构体,为了简单起见,我们将它们称为A和B。A包含一个指向 的指针B,并B包含一个A。所以这里是代码:
啊
#ifndef A_H
#define A_H
#include "b.h"
typedef struct _A {
B *b;
} A;
#endif
Run Code Online (Sandbox Code Playgroud)
哈
#ifndef B_H
#define B_H
#include "a.h"
typedef struct _B {
A a;
} B;
#endif
Run Code Online (Sandbox Code Playgroud)
现在的问题是,当我从我的主 c 文件中导入 ah 时,我收到关于 A 是如何从 bh 未知类型的错误我不知道如何解决这个问题。
小智 7
这样做的方法是使用空定义预定义结构
typedef struct _A A;
typedef struct _B B;
typedef struct _A {
B *b;
} A;
typedef struct _B {
A a;
} B;
Run Code Online (Sandbox Code Playgroud)
您可以将预定义放在全局包含文件中,以便从您需要的任何位置包含。
`