Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A instrução Switch não abrange todos os casos. Considere a possibilidade de adicionar um rótulo «default» (es.79).
Observações
Essa verificação abrange o rótulo ausente default nas instruções switch que alternam um tipo que não é de enumeração, como int, chare assim por diante.
Para obter mais informações, consulte ES.79: Use default to handle common cases (only) nas C++ Core Guidelines.
Exemplo
Este exemplo tem um rótulo ausente default ao alternar entre um intarquivo .
void fn1();
void fn2();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
}
}
Solução
Para corrigir esse problema, insira um default rótulo para cobrir todos os casos restantes.
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;
}
}
Se não for necessário tomar medidas default , insira um rótulo vazio default para indicar que os outros casos não foram esquecidos.
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;
}
}