MISRA C++:2008 Rule 6-4-6

Итоговый пункт оператора switch должен быть пунктом по умолчанию

Описание

Примечание

Используйте Bug Finder вместо Code Prover для проверки правил кодирования. Поддержка кодирования правил, регистрируясь в Code Prover будет удалена в будущем релизе. См. Вопросы совместимости.

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

Итоговый пункт оператора switch должен быть пунктом по умолчанию.

Реализация Polyspace

Средство проверки обнаруживает switch операторы, которые не имеют итогового default пункт.

Средство проверки не повышает нарушение если switch переменной является enum с конечным числом значений и у вас есть case пункт для каждого значения. Например:

enum Colours { RED, BLUE, GREEN } colour;

switch ( colour ) {
      case RED:
        break;
      case BLUE:
        break;
      case GREEN:
        break;
}

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

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

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

Группа: операторы
Категория: необходимый

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2021b

Введенный в R2013b