Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La instrucción switch no cubre todos los casos. Considere la posibilidad de agregar una etiqueta "default" (es.79).
Comentarios
Esta comprobación cubre la etiqueta default que falta en las instrucciones switch que cambian a un tipo de no enumeración, como int, char, etc.
Para más información, consulte ES.79: Uso default para controlar casos comunes (solo) en C++ Core Guidelines.
Ejemplo
Este ejemplo tiene una etiqueta default que falta al cambiar a un elemento int.
void fn1();
void fn2();
void foo(int a)
{
switch (a)
{
case 0:
fn1();
break;
case 2:
fn2();
break;
}
}
Solución
Para corregir este problema, inserte una etiqueta default para cubrir el resto de casos.
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;
}
}
Si no es necesario realizar ninguna acción default, inserte una etiqueta default vacía para indicar que no se han olvidado los demás casos.
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;
}
}