【发布时间】:2020-09-09 02:03:27
【问题描述】:
我想删除第一个节点并返回被删除节点的值。但我收到了这个警告:
warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
example=(**example).next;
所以,我的代码不起作用。谁能帮我解决这个问题?谢谢。
struct myStruct {
int data;
struct myStruct next;
}
int deleteNode(struct myStruct **example) {
struct myStruct *temporary;
if (temporary == NULL) {
emptyNode(temporary); // this function only returns NULL
}
temporary = *example;
example = (**example).next;
free(temporary);
return (**example).data;
}
【问题讨论】:
-
除了 H.S.评论,您的
temporary未初始化,您在下一行检查NULL值。 -
@H.S.对不起,我忘了在结构中写 *,它是 struct myStruct *next;但我仍然收到同样的警告。我无法理解这个问题。你能告诉我该怎么做吗?谢谢。
标签: c struct linked-list singly-linked-list function-definition