﻿# V7031\. A suspicious label was found inside a 'switch' statement\. This may be a typo, and a different label was intended\.

Анализатор обнаружил внутри инструкции switch метку, которая отлична от клауз case или default\. Скорее всего, это опечатка, из\-за которой нужная ветка никогда не выполнится\.

Рассмотрим пример:

```cpp
switch (status) {
  case 1:
    handleActive();
    break;
  case 2:
    handlePending();
    break;
  defalt:
    handleUnknown();
    break;
}
```

На первый взгляд кажется, что при любом значении `status`, не равном `1` или `2`, будет вызван метод `handleUnknown`\. Но на самом деле этого не произойдёт: `defalt` — это обычная метка, а не клауза `default`\. Вызов `handleUnknown` недостижим ни при каком значении `status`\.

Исправленный вариант:

```cpp
switch (status) {
  case 1:
    handleActive();
    break;
  case 2:
    handlePending();
    break;
  default:
    handleUnknown();
    break;
}
```