这个问题在这里已经有了答案:
Resolve circular typedef dependency?
(6 个回答)
去年关闭。
例如,
typedef struct { char * name; component ** components; } object;
typedef struct { vector3 pos, orient; object * obj; } component;
我已经按原样尝试过,可以预见的是,我收到一个错误,即第一个包含指向“组件”指针的指针,编译器尚无法识别该指针。有没有解决的办法?
最佳答案
为了满足第一个结构中的指针声明,您需要对第二个结构进行前向声明:
struct component; // This says there is a struct named component somewhere in the code
typedef struct { char * name; struct component ** components; } object;
struct component { vector3 pos, orient; object * obj; };
关于c - 两个结构体的指针指向彼此类型的结构体作为成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62618887/