尝试为指针赋值时出现错误。
我定义了 2 个结构:
typedef struct {
struct player *next; //pointers
struct player *prev;
} player;
typedef struct {
player onMe; //object
} field;
稍后在代码中,我创建了结构“玩家 p”的实例并尝试使用它: fields[][] 是一个包含字段类型结构的数组。
fields[p.x][p.y].onMe = *(p.next);
(*p.prev).next = &p.next;
在这些情况下,我得到“错误:解引用指向不完整类型的指针” 我也尝试了 (&p.next) 但结果相同。
fields[x][y].onMe.prev = (&p);
在这种情况下,我收到“警告:从不兼容的指针类型赋值 [默认启用]”
谁能告诉我我做错了什么?
最佳答案
您没有在任何地方声明 struct player
,因此该结构的定义是不完整的。尝试
typedef struct player_s {
struct player_s *prev;
struct player_s *next;
} player;
关于c - 取消引用指针的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17512464/