exponenta event banner

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

Выражение switch не должно иметь логический тип

Описание

Определение правила

Выражение switch не должно иметь логический тип

Объяснение

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

Внедрение Polyspace

Анализ распознает логические типы, bool или _Bool (определено в stdbool.h)

С помощью опции можно также определить типы, которые по существу являются логическими. Effective boolean types (-boolean-types).

Поиск неисправностей

Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.

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

Группа: Операторы переключения
Категория: Обязательно
СМЖЛ Категория: Консультативные услуги