Unicorn with delicious cookie
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
>
V2518. MISRA. The 'default' label...
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V2518. MISRA. The 'default' label should be either the first or the last label of a 'switch' statement.

19 Ноя 2018

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Данное диагностическое правило актуально только для C. Метка 'default' должна быть либо первой, либо последней меткой в 'switch'. Следование этому правилу облегчает чтение кода.

Пример кода, на который анализатор выдаст предупреждение:

void example_1(int cond)
{
  switch (cond)
  {
  case 1:
    DoSmth();
    break;
  default:
    DoSmth2();
    break;
  case 3: 
    DoSmth3();
    break;
  }
}

Чтобы убрать предупреждение, код можно переписать, например, следующим образом:

void example_1(int cond)
{
  switch (cond)
  {
  case 1: 
    DoSmth();
    break;
  case 3: 
    DoSmth3();
    break;
  default: 
    DoSmth2();
    break;
  }
}

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

  • MISRA-C-16.5