2016-06-08 1 views
0

The error messageконфликтующие типы и предыдущее неявное объявление в C

skeleton.c:86:6: warning: conflicting types for ‘verifyWord’ [enabled by default] 
void verifyWord(char nword) { 
    ^
skeleton.c:79:3: note: previous implicit declaration of ‘verifyWord’ was here 
    verifyWord(nextword); 
^

void playgame() { 
    . 
    . 
    . 
    strcpy(curword, get_random_word(dictptr)); 

    for(;;) { 
     . 
     . 
     . 
     /*function for nextword if correct*/ 
     verifyWord(nextword); 
     /*           */ 
    } /* end for loop */ 
    . 
    . 
    . 
} 

void verifyWord(char nword) { 
FILE * fp; 

fp = fopen ("usedWords.txt", "a+"); 
fprintf(fp, "%d ", nword); 

fclose(fp); 
} 

Привет, эта программа должна быть мини-игра слов, я новичок в C. Нужна помощь в выяснении того, как я могу избежать ошибки, отображаемой в изображении imgur.

выше 2 является функцией пустяки и функция verifyWord

Пожалуйста, мне точку в правильном направлении, как я пытался объявить выше главной:

  • verifyWord();
  • char verifyWord (void);
  • знак charWord();
+0

Убедитесь, что прототип 'verifyWord()' виден каждому вызывающему устройству. – EOF

ответ

1

Необходимо правильно объявить функцию с аргументами, которые вы готовы передать в ней.

Предположим, например, что verifyWord возвращает void и принимает char pointer в качестве аргумента.

Правильное заявление будет:

void verifyWord (char *nextWord); 

И вы будете использовать его как:

char* nextWord = NULL; 

verifyWord(nextword); 

Ваша проблема в том, что вы не сказали компилятора, как иметь дело с функцией. У вас должно быть явное объявление, например, указанное выше, помещенное где-то перед строкой, где вы его называете, и оно должно быть в пределах одной области.

+1

Если вы прочитали сообщение OP, вы бы увидели, что одно из объявлений - * implicit *. – EOF

+1

О, мое плохое. Тем не менее, это решает вопрос, так как возникает вопрос: «Пожалуйста, укажите мне в правильном направлении, когда я попытался провозгласить над главным: – Mirakurun

Смежные вопросы