Ciao Nico,
attento a come gli passi i parametri.
Ti mando il codice corretto per semplificarti il lavoro ma cerca di capire bene la differenza fra passaggio per valore o per reference come dice @migliorabile.
#include <iostream>
using namespace std;
void scambio(int &a, int &b) \\OCCHIO
{
int vartemp;
vartemp=a;
a=b;
b=vartemp;
}
int main()
{
int x,y;
cout<<"Inserisci A: "<<endl;
cin>>x;
cout<<"Inserisci B: "<<endl;
cin>>y;
scambio(x, y);
cout<<"Adesso, A equivale a: "<<x<<endl;
cout<<"Adesso, B equivale a: "<<y<<endl;
return 0;
}
come vedi ho scritto (int &a, int &b), in questo modo passo anche il riferimento.
Un altro modo di farlo sarebbe così:
#include <iostream>
using namespace std;
void scambio(int *a, int *b) \\NB
{
int vartemp;
vartemp= *a;
*a= *b;
*b=vartemp;
}
int main()
{
int x,y;
cout<<"Inserisci A: "<<endl;
cin>>x;
cout<<"Inserisci B: "<<endl;
cin>>y;
scambio(&x, &y); \\NB
cout<<"Adesso, A equivale a: "<<x<<endl;
cout<<"Adesso, B equivale a: "<<y<<endl;
return 0;
}
qui vado ad usare l'asterisco per entrare e accedere al contenuto, mentre uso la & per passare il riferimento.