q_node * pop(Queue * que) {
if ((que->size == 0) || (que == NULL)) return null;
q_node * item = que->head;
if (freeNode(que)) {
que->size--;
return item;
} else return null;
}
当我尝试编译时,我收到此函数底线的上述警告。结构体 q_node 和 Queue 编译没有任何问题,freeNode() 也是如此......你知道我做错了什么吗?
我还收到第一个 if 语句行的错误“null undeclared”。
最佳答案
q_node * pop(Queue * que) {
if ((que->size == 0) || (que == NULL)) return NULL;
q_node * item = que->head;
if (freeNode(que)) {
que->size--;
return item;
}
return NULL;
}
去掉else语句是没有用的。现在没有警告了^_^ Gcc 发现您错过了最后的 return 语句,并让您知道以防万一。
编辑:空->空
关于c - 警告 : control reaches end of non-void function; error: null undeclared (c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994890/