Variabili automatiche

di zio_mangrovia il
6 risposte
Vorrei essere sicuro di aver ben compreso il concetto di variabile automatica.
Se definisco una variabile automatica all'interno di un blocco, p.e.

#include...
...
int main()
{
	int a;
	cin >> a;

	if (a>2) {
		int b=2;
		a=a+b;
		}
	cout << "stampo b" << b; // errore?!?
}
Se non sbaglio il tempo di vita della variabile b è confinato all'interno del blocco definito dalle parentesi { } quindi al momento dell'uscita dal blocco la stampa di b dovrebbe fornire un errore indipendentemente dalla condizione dell' if.
Corretto?

6 Risposte

  • Hai compilato quel codice?
  • No, è giusto un esempio che mi è venuto in mente.
  • Compila, ed esegui passo/passo.
  • migliorabile ha scritto:


    Compila, ed esegui passo/passo.
    la risposta la fornisce il compilatore , dicendo che non c'e' visibilità della variabile b all'interno della funzione main.
  • Esatto per questo ti ho detto solo di compilare e non di eseguire
  • Thanks
Devi accedere o registrarti per scrivere nel forum
6 risposte