#ifndef A
#define A
#include "B.h"
typedef struct {
B* b;
} A;
void InitA(A* a) {
a->b=malloc(sizeof(B));
}
#endif
B.h
#ifndef B
#define B
#include "A.h"
typedef struct {
A* a;
} B;
void InitB(B* b) {
b->a=malloc(sizeof(A));
}
#endif
我試過這樣的,像C++和類型定義。 typedef使類型之間的衝突錯誤和先前的聲明在這裏等。
謝謝。
首先你有重複的包括警衛。在'A.h'中你也定義了'B'。 – RedX 2012-07-16 13:01:12
'#define B'在你的類型被稱爲'B'時不能正常工作... – 2012-07-16 13:01:23
頂層文件不應該是'#ifndef A' .... – 2012-07-16 13:01:32