Правило 16.7 MISRA C:2012

Выражение переключателя не должно иметь по существу булева типа

Описание

Управляйте определением

Выражение переключателя не должно иметь по существу булева типа

Объяснение

Стандарт C требует, чтобы выражение управления к оператору switch имело целочисленный тип. Поскольку C реализует булевы значения с целочисленными типами, возможно иметь контроль Булевым выражением оператор switch. Для управления потоком с булевыми типами if-else конструкция является более соответствующим.

Реализация Polyspace

Если ваша настройка использует опцию -boolean-types, количество нарушений, о которых сообщают, может увеличиться.

Обменивайтесь сообщениями в отчете

Выражение переключателя не должно иметь по существу булева типа.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Проверяйте информацию

Группа: операторы switch
Категория: необходимый
Категория AGC: консультация
Язык: C90, C99