In Funktion, Funktion aufrufen
-
Hallo
ich habe mehrere Funktion wo am Ende ein Wert geprüft wird.Wenn der Wert '1' ist soll die Funktion noch einmal wiederholt werden.Wie würdet ihr in einer Funktion schreiben dass sich die Funktion noch einmal wiederholen soll.
void prüfen(void) { if(a==1) { //gleiche funktion noch einmal aufrufen } } void funktion1 (void) { //Funktion1 prüfen(); } void funktion2 (void) { //Funktion2 prüfen(); }
MfG
-
void funktion() { do { // ... } while(prüfen()); }
-
void callme(int times){ if(times--) callme(times); }
so in der richtung
lg lolo
-
Hallo
danke für die Tipps.
Ist es irgendwie möglich in der Funktion prüfen die Adresse der jeweiligen Funktion aufzurufen bzw. noch einmal die jeweilige Funktion aufzurufen.
-
So habe ich mir das ca. vorgestellt.
void prüfen(funktion) { if(a==1) { // funktion aus parameterliste aufrufen } } void funktion1 (void) { //Funktion1 prüfen(funktion1); } void funktion2 (void) { //Funktion2 prüfen(funktion2); }
-
Hi,
dafür käme ein Funktionszeiger in frage:void (*fptr) (void); void pruefen(void (*fptr) (void)) { if(a==1) { // funktion aus parameterliste aufrufen fptr(); } }
Gruß,
B.B.
-
Danke,
genau das habe ich gemeint.Ich blicke da nicht durch.
In der funktion1 steht die Funktion prüfen().Was muss ich da als Parameter mitgeben.
-
void prüfen(void (*fptr) (void)) { // funktion aus parameterliste aufrufen fptr(); } prüfen(funktion1); prüfen(funktion2);