传递结构以在c中的不同文件中运行
Passing a struct to function in diffrent file in c
我有两个单独的文件
在主函数文件1中:
struct entity{
unsigned int pos_x;
unsigned int pos_y;
unsigned int health;
} player;
struct inventory{
char helmet[length_item_names];
char body[length_item_names];
char legs[length_item_names];
char items[inventory_space];
} items;
render_screen(rendered_size_x, inventory_size_x, screen_size_y, map, player, items);
文件 2:
void render_screen(int render_size_x, int inventory_size_x, int screen_size_y, char **field, struct entity player, struct inventory items){
...
}
当声明 render_screen 时,我收到一条错误消息,告诉我结构实体和结构清单不能声明为不完整的数据类型,或者当我这样做时
extern struct Player{
...
}
它告诉我我作为参数给出的数据类型是错误的
如何将结构作为参数提供
Barmar 工人的评论。
我必须将结构的声明放入头文件中,我必须将其包含在两个 c 文件中。
感谢您的快速帮助
我有两个单独的文件
在主函数文件1中:
struct entity{
unsigned int pos_x;
unsigned int pos_y;
unsigned int health;
} player;
struct inventory{
char helmet[length_item_names];
char body[length_item_names];
char legs[length_item_names];
char items[inventory_space];
} items;
render_screen(rendered_size_x, inventory_size_x, screen_size_y, map, player, items);
文件 2:
void render_screen(int render_size_x, int inventory_size_x, int screen_size_y, char **field, struct entity player, struct inventory items){
...
}
当声明 render_screen 时,我收到一条错误消息,告诉我结构实体和结构清单不能声明为不完整的数据类型,或者当我这样做时
extern struct Player{
...
}
它告诉我我作为参数给出的数据类型是错误的
如何将结构作为参数提供
Barmar 工人的评论。
我必须将结构的声明放入头文件中,我必须将其包含在两个 c 文件中。
感谢您的快速帮助