PDA

Visualizza la versione completa : [C++] Chiamata di funzione all'interno di un'altra funzione


suricata
16-04-2011, 13:13
Salve a tutti ho un problema perche non capisco come devo fare per implementare una funzione che al suo interno contiene un'altra funzione, in pratica:




void sceltaDolce (int scelta)
{
cin>>scelta;

if (scelta==1)
{
cout<<"inserisci gli ingredienti della torta";
inserisciIngredienti (a, ingrediente );
}

if (scelta==2)
{
cout<<"inserisci gli ingredienti del tiramisu";
inserisciIngredienti (a, ingrediente );
}


if (scelta==3)
{
cout<<"inserisci gli ingredienti del bavarese";
inserisciIngredienti ( a, ingrediente );
}

}


mi da come errore che ne "a" ne "ingrediente" sono dichiarate , e non so come fare.

la funzione inserisciIngredienti fatta cosi:



void inserisciIngredienti (string a[], string ingrediente [])
{


for (int i=0; i<n ; i++)
{
cin>>ingrediente[i];
a[i]=ingrediente[i];

}

}



GRAZIE DELL'AIUTO

KolDeath
16-04-2011, 13:44
Sei all'interno di sceltaDolce. Richiami la funzione inserisciIngredienti, a cui passi a e ingrediente come parametri.

Il problema che in nessuna parte della prima funzione dichiari questi due elementi, per cui la funzione non li trova*, quindi non pu passarli come parametri alla funzione inserisciIngredienti.

* Non li trova a meno che tu non abbia dichiarato a e ingrediente come globali.

suricata
16-04-2011, 14:35
Li avevo dichiarate (a , ingrediente) come globali dentro del main pero me dava errore , adesso grazie al tuo consiglio ho fatto:



void sceltaDolce (int scelta, string a[], string ingrediente [])


e funziona, dovevo dichiarare i paramentri dentro la nueva funziona e io non lo sapevo
grazie tante

Loading