C语言自己写的函数出现“error LNK2001: 无法解析的外部符号“

来源:互联网 发布:屏幕录制软件下载 编辑:程序博客网 时间:2024/06/06 01:39

最近写作业,出现

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; 


帮助到的朋友点个赞