Cześć,
Mam pewien problem z kolegą, mianowicie:
switch (liczba)
{
case 1:
abc a;
break;
case 2:
abc b;
break;
}
W powyższym przypadku występuje błąd, ponieważ jedna ze zmiennych będzie nie zainicjalizowana, zgadza się?
Natomiast w przypadku poniższym:
switch (liczba)
{
case 1:
abc a;
break;
abc b;
break;
}
Kiedy już nie ma linijki z case 2, wtedy kompilator już nie rzuca błędem, lecz nie do końca jest to dla Nas zrozumiałe. Pomijając przypadek, że liczba != 1, w przypadku kiedy wynosi ona 1, jest tworzony obiekt a, natomiast co się dzieje ze zmienną b? Przecież tam jest break i do zmiennej b już nie powinno dojść wykonanie programu, więc nie powinno być - analogicznie do poprzedniego przypadku - błędu?
Dzięki z góry za pomoc