Почему это не работает, если я объявил функцию, как это? - PullRequest
0 голосов
/ 12 октября 2019

Я объявил «GuGuDan» fn в первую очередь перед основным fn, но он показал сообщение об ошибке «Неявное объявление функции« GuGudan »недопустимо в C99» и не работал. поэтому я попытался найти другое решение и понял, что оно работает, если я объявлю его в «WhatToPrint» fn.

#include <stdio.h>

void GuGuDan(int, int);
void WhatToPrint(int, int);


...


void WhatToPrint(int x, int y){
void GuGudan(int, int); 
// why must I declare GuGuDan fn in WhatToPrint fn?
...

}

1 Ответ

0 голосов
/ 12 октября 2019

В объявлении вы указываете только типизированные данные, но в определении вам необходимо указать переменные. Так что если вы делаете это, как показано ниже, это должно работать.

#include <stdio.h>

void GuGuDan(int, int); //this is the declaration 
void WhatToPrint(int, int);


...


void GuGudan(int x, int y){
// This way your GuGudan function will work
...

}
void GuGudan(int x, int y){
// This way your GuGudan function will work
...

}
...