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.
![]()

Rispondi quotando