2013-10-08 27 views
-2

我正在編譯時得到「函數」searchEntry'應該有一個原型「錯誤!以下函數的函數原型標題是什麼?

功能是

int searchEntry(indexs ind[],char key[],int n) 

其中indexs ind[ ]是結構

typedef struct index 
{ 
    int id; 
    char word[20]; 
    int count; 
}indexs; 

searchEntry功能

int searchEntry(indexs ind[],char key[],int n) 
{ 
indexs *i; 
for(i=ind;i<ind+n;i++) 
{ 
if((strcmp(i->word,key)==0)) 
    { 
    return(i-ind); 
    } 
} 
return -1; 
} 

應該用什麼函數原型?

+0

這裏要記住的重要一點是,原型(或定義)都來*之前*您使用功能。這是因爲在C和C++中,所有名稱(標識符)必須在使用之前聲明。函數原型是函數的*聲明*。 –

+0

由於您在問題中提供了原型,因此您似乎還不知道原型*是什麼。 –

+0

不要編輯問題以提出新問題。開始一個新的問題。 –

回答

2

函數原型與函數定義相同。所以這將是:

int searchEntry(indexs ind[],char key[],int n); 
+0

現在我得到「索引無法啓動參數聲明」錯誤。 –

+0

@AndyK你在函數原型之前定義了類型別名'indexs' *? –

+0

@AndyK的索引stuct類型定義應該在原型 – MOHAMED

1

要麼

int searchEntry(indexs ind[],char key[],int n); 

int searchEntry(indexs [],char [],int);