PDA

View Full Version : [C++] Funzioni che si chiamano tra loro


pixie
07-09-2010, 10:02
Salve a tutti. Vi pongo questo problema:

void g() {
...
a();
}

void a(){
...
g();
}


Come realizzereste una cosa di questo tipo? E' da qualche ora che ci penso e me lo sento che sarà una stupidata però ho bisogno che qualcuno mi illumini visto che mi sto perdendo in un bicchiere d'acqua. Grazie :)

tomminno
07-09-2010, 10:34
Messa così ottieni certamente uno stack overflow.
Magari spiega meglio cosa vorresti fare.

pixie
07-09-2010, 10:43
Eh dovrei metterti il codice. L'errore me lo da in compilazione. Non c'è un modo per realizzare una cosa così?

pixie
07-09-2010, 10:43
Eh dovrei metterti il codice. L'errore me lo da in compilazione. Non c'è un modo per realizzare una cosa così?

pixie
07-09-2010, 10:44
Eh dovrei metterti il codice perchè è un pò complicato spiergarlo. L'errore me lo da in compilazione. Non c'è un modo per realizzare una cosa così?

pixie
07-09-2010, 10:45
Scusa se ne sono comparsi troppi di messaggi.

marco.r
07-09-2010, 10:59
void a(); // forward declaration
void g() {
...
a();
}

void a(){
...
g();
}

pixie
07-09-2010, 11:01
Dio santissimo. Vorrei tanto fare questo => :muro: . Grazie davvero.

banryu79
07-09-2010, 12:30
Si possono anche creare due funzioni, 'a' e 'b' che come primo argomento accettano un puntatore a funzione che viene usato nel corpo per eseguire una chiamata.

A quel punto ad 'a' si passa un function pointer che punta a 'b' e viceversa.

pixie
07-09-2010, 14:40
Si possono anche creare due funzioni, 'a' e 'b' che come primo argomento accettano un puntatore a funzione che viene usato nel corpo per eseguire una chiamata.

A quel punto ad 'a' si passa un function pointer che punta a 'b' e viceversa.

Grazie banryu79 :) ma la soluzione precedente è già più che buona per me.