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?