1. 程式人生 > >C語言自己寫的函數出現“error LNK2001: 無法解析的外部符號“

C語言自己寫的函數出現“error LNK2001: 無法解析的外部符號“

最近寫作業,出現

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;


幫助到的朋友點個贊