Wywołanie funkcji wewnątrz innej funkcji

Wywołanie funkcji wewnątrz innej funkcji
K3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Witam mam taki problem muszę napisać program, który używa tylko rekurencji . Chciał bym się dowiedzieć czy możliwe w języku c++ jest wywołanie funkcji wewnątrz innej funkcji ? tzn:

Kopiuj
void funkcja1(){

}
void funkcja2(){
funkcja1();
}

Jeżeli jest to nie możliwe to co w takim przypadku należy zrobić ?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Nie rozumiem pytania. Jest to możliwe, dokładnie tak jak napisałeś. Nic nie trzeba robić.

  • Rejestracja: dni
  • Ostatnio: dni
0

jest możliwe

  • Rejestracja: dni
  • Ostatnio: dni
0

byles pierwszy:)

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Może sprecyzuj? Bo to co podałeś nie zawiera żadnej rekurencji. Może miałeś na myśli to:

Kopiuj
void funkcja2(int x);
void funkcja1(int x) { cout<<"Nie lubi."<endl; if(x>0) funkcja2(x-1); }
void funkcja2(int x) { cout<<"Lubi."<<endl; if(x>0) funkcja1(x-1); }

int main()
  {
   funkcja2(10);
   return 0;
  }
K3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

już problem rozwiązany taka kolejność funkcji działa prawidłowo :

Kopiuj
void funkcja1(){
 
}
void funkcja2(){
funkcja1();
}

lecz ja miałem taką :

Kopiuj
void funkcja1(){
funkcja2();
}
void funkcja2(){

}

przez co kompilator zwracał błąd

tomi0001
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 185
0
_13th_Dragon napisał(a):

Może sprecyzuj? Bo to co podałeś nie zawiera żadnej rekurencji. Może miałeś na myśli to:

Kopiuj
void funkcja2(int x);
void funkcja1(int x) { cout<<"Nie lubi."<endl; if(x>0) funkcja2(x-1); }
void funkcja2(int x) { cout<<"Lubi."<<endl; if(x>0) funkcja1(x-1); }

int main()
  {
   funkcja2(10);
   return 0;
  }

Wszystko rozumiem w tym kodzie tylko nie rozumiem tego

Kopiuj
void funkcja2(int x);

Przecież już masz zadeklarowaną funkcje funkcja2()

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.