Originariamente inviato da devilfire
ciao!
ho un main:
int main()
{
...

int eta;
i=pippo(&eta);
....
}

questa è la funzione PIPPO:

int pippo(int *eta)
{
....
/*Qui devo modificare il valore di età che è passato per indirizzo
in questo modo potrò usarlo nel main modificato.
*/

//Ho provato a scrivere :
*eta=100; //ma non funge..

....
return 0; //che non posso cambiare (dato da specifica)
//Quindi il valore di eta devo per forza cambiarlo tramite //indirizzo, senza variabili globali.
}

Come fare?

grazie!!


Le cose sono 2, o usi un passaggio per riferimento o un passaggio per indirizzo.
Questo dovrebbe essere il tuo programmino con il passaggio per riferimento, intendo "dovrebbe" per il fatto che non lo ho compilato.

int pippo(int &eta); // predichiarazione funzione

int main()
{
...

int eta;
i=pippo(eta);
....
}

questa è la funzione PIPPO:

int pippo(int &eta) // definizione funzione
{
....
/*Qui devo modificare il valore di età che è passato per indirizzo
in questo modo potrò usarlo nel main modificato.
*/

//Ho provato a scrivere :
eta=100; //ma non funge..

....
return eta; //che non posso cambiare (dato da specifica)
//Quindi il valore di eta devo per forza cambiarlo tramite //indirizzo, senza variabili globali.
}

Una precisazione.
Non ha senso mettere un ritorno alla funzione, dovevi ritornare un vuoid.
Cmq provalo.
Dovrebbe andare, vedrai che il valore di "eta" nel main e' pari a 100.
Fa sapere se funziona.