Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Instrukcja Switch nie obejmuje wszystkich przypadków. Rozważ dodanie etykiety "default" (es.79).
Uwagi
Ta kontrola obejmuje brakującą default etykietę w instrukcjach switch, które przełączają się na typ nieliczeniowy, taki jak int, chari tak dalej.
Aby uzyskać więcej informacji, zobacz ES.79: Używanie default do obsługi typowych przypadków (tylko) w podstawowych wytycznych dotyczących języka C++.
Przykład
W tym przykładzie brakuje default etykiety podczas przełączania intsię na .
void fn1();
void fn2();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
}
}
Rozwiązanie
Aby rozwiązać ten problem, wstaw etykietę default , aby pokryć wszystkie pozostałe przypadki.
void fn1();
void fn2();
void default_action();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
default:
default_action();
break;
}
}
Jeśli nie default trzeba podejmować żadnych działań, wstaw pustą default etykietę, aby wskazać, że inne przypadki nie zostały zapomniane.
void fn1();
void fn2();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
default:
// do nothing for the rest of the cases
break;
}
}