2013-10-08 5 views
-2

Я получаю «Function» 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 определение типа индекса должно быть определено до прототипа – MOHAMED

1

Либо

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

или

int searchEntry(indexs [],char [],int); 
Смежные вопросы