Wiemy, ze takie kody:
int a;
cin>>a;
int T[a];
int a;
cin>>a;
switch(a)
{
...
}
są niepoprawne, bo
- kompilator musi znać rozmiar tablicy już w czasie kompilacji
- switch jest używany tylko do const-zmiennych
Jednak coś takiego sie kompiluje i działa bez zarzutu. Dlaczego zatem używanie tego nie jest poprawne? Gdzie może ujawnić sie błąd, o ile kiedyś sie ujawni?