Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Switch-instructie geldt niet voor alle gevallen. Overweeg een label (defaultes.79) toe te voegen.
Opmerkingen
Deze controle heeft betrekking op het ontbrekende default label in switchinstructies die overschakelen over een niet-opsommingstype, zoals intchar, enzovoort.
Zie ES.79 voor meer informatie: Gebruiken default om veelvoorkomende zaken (alleen) in de C++-kernrichtlijnen af te handelen.
Voorbeeld
In dit voorbeeld ontbreekt default een label bij het overschakelen van een int.
void fn1();
void fn2();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
}
}
Solution
U kunt dit probleem oplossen door een default label in te voegen om alle resterende gevallen te behandelen.
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;
}
}
Als er geen default actie moet worden ondernomen, voegt u een leeg default label in om aan te geven dat de andere gevallen niet zijn vergeten.
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;
}
}