【发布时间】:2013-07-04 22:46:14
【问题描述】:
尝试为指针赋值时出现错误。
我定义了 2 个结构体:
typedef struct {
struct player *next; //pointers
struct player *prev;
} player;
typedef struct {
player onMe; //object
} field;
稍后在代码中,我创建了结构“player p”的实例并尝试使用它: fields[][] 是一个包含字段类型结构的数组。
fields[p.x][p.y].onMe = *(p.next);
(*p.prev).next = &p.next;
在这些情况下,我得到“错误:取消引用指向不完整类型的指针” 我也尝试过 (&p.next) 但结果相同。
fields[x][y].onMe.prev = (&p);
在这种情况下,我得到“警告:来自不兼容指针类型的赋值[默认启用]”
谁能告诉我我做错了什么?
【问题讨论】:
标签: c pointers struct dereference