我有一个文件game.h
,其中包含此声明
typedef struct Enemy {
...
}Enemy;
一个功能
void moveEnemy(Level* l, Enemy* enemy){
...
}
Level
在levels.h
上宣布,因此在game.h
我有:
#include "levels.h"
一切都很完美,直到我必须在Enemy
中使用levels.h
。
所以,在levels.h
我添加了:
#include "game.h"
现在我收到编译错误:
game.h:34:2: error: unknown type name ‘Level’
Level* level;
^
我在两个.h
都包含了警卫我不知道为什么我不能存档,包括另一个。
我该怎么办?
答案 0 :(得分:1)
只需在函数之前的 game.h 中添加一个前向声明,
typedef struct Level Level;
因为它只是指向Level
的指针,所以会这样做。