Salve a tutti sto cercando di fare in modo che il pc si autogestisca e vorrei provare una semplice funzione di somma, qualcuno puo spiegarmi come mai seppur nella funzione il valore sia passato per riferimento non venga cambiato? o sappia dirmi come poter far gestire in automatico le funzioni, grazie a tutti.
#include <iostream>
#include <cstdlib>
#include <string>
#include <vector>
using namespace std;
void turno_pc(int n, int &somma);
int somma(int &valore);
int main() {
for (int i = 0; i < 4; i++) {
int somma = 0;
if (i == 0) {
cout << "sono il primo" << endl;
somma++;
cout << somma << endl;
}
else if (i == 1) {
cout << "sono il secondo" << endl;
turno_pc(i, somma);
}
else if (i == 2) {
cout << "sono il terzo" << endl;
turno_pc(i, somma);
}
else if (i == 3) {
cout << "sono il quarto" << endl;
turno_pc(i, somma);
}
}
}
void turno_pc(int n, int &valore) {
int n=0;
if (n != 0) {
cout << "sto eseguendo" << endl;
n = somma(valore);
cout << n << endl;
}
}
int somma(int &valore) {
valore = valore + 1;
return valore;
}