C語言自己寫的函數出現“error LNK2001: 無法解析的外部符號“
阿新 • • 發佈:2019-02-19
最近寫作業,出現
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;
幫助到的朋友點個贊