最近写作业,出现
main.obj : error LNK2001: 无法解析的外部符号 "void __cdecl creatlist(struct list_type *)" (?creatlist@@YAXPAUlist_type@@@Z),
看网上的教材,是外部引用库的问题,可是我的函数是自己写的,不存在引用库函数,然后废了好大劲才知道是自己写的C语言在声明时原来与定义处的函数名被我写错了一个字母,成功解决
附上错误原因:
声明部分:void creatlist(list_type *lp);
定义部分:
void createlist(list_type *lp)
{
int i, elem;
lp->length=0;
printf("\nplease input datas of the list\n");
for(i=0; i< MAXNUM; i++)
{
scanf(" %d", &elem);
if(elem== -1) break;
lp->data[i]=elem;
lp->length++;
}
}
还有最扯得,老师自己定义的结构体都不对
正确的:结构名就在struct后面,最后才是typedef的别命名
typedef struct list_type
{
int data[MAXNUM];
int length;
}list_type;
老师的定义:
typedef struct
{
intdata[MAXNUM];
intlength;
}list_type;
帮助到的朋友点个赞