funkcje c

CP
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:18
0

witam
mam problem dotyczący wywołań funkcji, otóż obie funkcję wywołują siebie nawzajem , działają poprawnie ale kompilator wywala błędy :

  • implicit declaration of function 'f1 ' is invalid > -this function declaration is not a prototype
  • conflict types for function 'f1'

Przykład kodu :

Kopiuj
void f2()
{
    f1();
}


void f1()
{
    f2();
}
szweszwe
  • Rejestracja:ponad 11 lat
  • Ostatnio:14 dni
  • Lokalizacja:Kraków
  • Postów:1694
1

W definicji funkcji f2 używasz funkcji f1 która w tym miejscu jeszcze nie jest znana. Dodaj deklarację tej funkcji na samym początku.

CP
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:18
0

wtedy kod będzie zawierał trzy deklaracje dobrze rozumiem ?

Kopiuj
void f1()
{
    f2();
}

void f2()
{
    f1();
}

void f1()
{
    f2();
}
edytowany 1x, ostatnio: Chili pepper
szweszwe
  • Rejestracja:ponad 11 lat
  • Ostatnio:14 dni
  • Lokalizacja:Kraków
  • Postów:1694
1

Deklaracja wygląda tak:
void f1();
A to co ty masz to definicje.

edytowany 1x, ostatnio: szweszwe
PT
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 2 lata
  • Postów:5
1

użyj forward deklaracji

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:około 6 godzin
  • Postów:4935
1

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.