typedef struct {
int pid;
struct f_queue_node *next;
}f_queue_node;
typedef struct {
f_queue_node *front, *rear;
}f_queue;
f_queue *queue;
f_queue_node *node
queue->rear->next = node;
每当我使用带有前部和后部的 f_queue_node 指针时,我都会收到警告。
queue_f.c:39:21:警告:从不兼容的指针类型 [-Win兼容指针类型] 进行赋值
队列->后->下一个=节点; ^
最佳答案
使用这个:
typedef struct f_queue_node {
int pid;
struct f_queue_node *next;
} f_queue_node;
而不是:
typedef struct {
int pid;
struct f_queue_node *next;
} f_queue_node;
发生这种情况是因为您 typedef
是一个匿名 struct
。
另外,你在这里漏掉了分号f_queue_node *node
,我不知道你是在在这里发布还是在代码中漏掉了它,只是提醒一下。
关于c - typedef 和 struct 的不兼容指针类型警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52729700/