C语言链表问题 DEVC++编译出error:too many arguments to function 'int deletNode()'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言链表问题 DEVC++编译出error:too many arguments to function 'int deletNode()'相关的知识,希望对你有一定的参考价值。
就是下面这段代码。。关于链表的创建和删除 不知道main()函数的毛病在哪里 希望大家帮助我看一下谢谢拉
#include <stdio.h>
#include <stdlib.h>
#include<malloc.h>
struct listNode
int data;
struct listNode * nextPtr;
;
typedef struct listNode LISTNODE;
typedef LISTNODE * LISTNODEPTR;
LISTNODE *createList()
int num;
LISTNODEPTR headPtr = NULL,lastPtr = NULL,currentPtr;
printf("Please input a series of integers:");
scanf("%d ",&num);
while(num!=-1)
currentPtr=(LISTNODEPTR)malloc(sizeof(listNode));
if(currentPtr!=NULL)
currentPtr->data = num;
if(headPtr = NULL)
headPtr=currentPtr;
lastPtr=currentPtr;
else
lastPtr->nextPtr=currentPtr;
lastPtr=currentPtr;
scanf("%d ",&num);
lastPtr->nextPtr = NULL;
return headPtr;
void printList(LISTNODEPTR currentPtr)
if(currentPtr=NULL)
printf("the list is empty\n");
else
printf("The list is:");
while(currentPtr!=NULL)
printf("%d ",currentPtr->data);
currentPtr=currentPtr->nextPtr;
int deleteNode(LISTNODEPTR *sPtr,int value)
LISTNODEPTR previousPtr,currentPtr;
previousPtr=NULL;
currentPtr=*sPtr;
while(currentPtr!=NULL&¤tPtr->data!=value)
previousPtr=currentPtr;
currentPtr=currentPtr->nextPtr;
if(currentPtr!=NULL)
if(previousPtr=NULL)
*sPtr=currentPtr->nextPtr;
else
previousPtr->nextPtr=currentPtr->nextPtr;
free(currentPtr);
return value;
else
return -1;
int main()
LISTNODEPTR headPtr,currentPtr,lastPtr,sPtr,nextPtr;
int deleteNode();
LISTNODE *creatList();
void printList();
headPtr=creatList();
printList();
printf("Please input an integer you want to delete:");
int deleNum;
scanf("%d",&deleNum);
deleteNode(headPtr,deleNum);
printList(headPtr);
return 0;
LISTNODE *creatList();
void printList();
这些函数已经被上面定义过了,删了。
Android编译错误——undefined reference to
[错误描述] 未定义引用
提示如下:
bootable/recovery/minzip/Zip.c:1122: error: undefined reference to ‘selabel_lookup‘
bootable/recovery/minzip/Zip.c:1123: error: undefined reference to ‘setfscreatecon‘
bootable/recovery/minzip/Zip.c:1129: error: undefined reference to ‘freecon‘
bootable/recovery/minzip/Zip.c:1130: error: undefined reference to ‘setfscreatecon‘
bootable/recovery/minzip/DirUtil.c:151: error: undefined reference to ‘selabel_lookup‘
bootable/recovery/minzip/DirUtil.c:152: error: undefined reference to ‘setfscreatecon‘
bootable/recovery/minzip/DirUtil.c:158: error: undefined reference to ‘freecon‘
bootable/recovery/minzip/DirUtil.c:159: error: undefined reference to ‘setfscreatecon‘
collect2: error: ld returned 1 exit status
make: *** [out/target/product/fly/obj/SHARED_LIBRARIES/ua-server_intermediates/LINKED/ua-server.so] 错误 1
[问题分析] 根据提示可知,Zip.c 调用的四个函数 ‘selabel_lookup‘,‘setfscreatecon‘,‘freecon‘,‘setfscreatecon‘ 未定义。其实它们定义在 libselinux 库中,只是因为 libselinux 库没有被包含进相应模块的 Android.mk 文件中,才导致这样的编译错误。
[处理方法] 打开所编译模块的 Android.mk 文件,在对应模块添加LOCAL_STATIC_LIBRARIES += libselinux,如果已有其他的库,则将 libselinux 直接添加在后面即可。
小小总结,只为抛砖引玉,如果读者在编译过程中遇到类似的问题,可以举一反三,加以解决。
#欢迎技术交流# skype账号:fxwlucky
以上是关于C语言链表问题 DEVC++编译出error:too many arguments to function 'int deletNode()'的主要内容,如果未能解决你的问题,请参考以下文章
devc++编译正确点enter输出一直出数字不输出结果怎么办?
Linux C语言编译报错:undefined reference to `sem_init‘(编译时加 -lpthread)
Linux C语言编译报错:undefined reference to `sem_init‘(编译时加 -lpthread)