# V622. First 'case' operator may be missing. Consider inspecting the 'switch' statement.

Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что в блоке оператора 'switch' первым оператором не является оператор 'case'. Это приводит к тому, что фрагмент кода никогда не получит управление.

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

    char B = '0';
    int I;
    ...
    switch(I)
    {
      B = '1';
      break;
    case 2:
      B = '2';
      break;
    default:
      B = '3';
      break;
    }

Присваивание "B = '1';" никогда не будет выполнено. Корректный вариант кода:

    switch(I)
    {
    case 1:
      B = '1';
      break;
    case 2:
      B = '2';
      break;
    default:
      B = '3';
      break;
    }

Данная диагностика классифицируется как:

CWE-478 CERT-DCL41-C

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V622.