infatti è questo il problema.Originariamente inviato da eardin
magari sbaglio , ma il problema è che la funzione f(int, int) non vede la variabile y definita nel main(). Il programma compila e stampa x=1 y=5 se metti la y=2; come variabile globale.codice:#include <iostream> #include <cstdlib> using namespace std; int f(int, int); int main() { int x=1, y=2; y=f(y,x); cout<<"x= "<<x<<"y="<<y<<endl; } int f(int x, int &z){ z=x+y; // y undlecared (first use this fuction) return z+1; }
inoltre il prototipo di f non è uguale poi alla sua definizione:
int f(int, int);
...
int f(int x, int& z){
...
}
devono essere uguali.
Forse il prof avrà sbagliato a scrivere il codice...![]()