switch выражение имеет тип данных кроме char, короткого, международного или перечислимого
Этот дефект происходит когда switch выражение имеет тип данных кроме char, short, int или enum.
Средство проверки отмечает другие целочисленные типы данных, такие как булевы типы, битовые поля или long.
Это предпочтено, чтобы использовать char, short, int или enum в switch выражения вместо:
Булевы типы, потому что switch выражение с булевым типом может быть заменено if условие, которое выполняет то же выражение. switch выражение слишком тяжело для простого потока управления на основе булева условия.
Типы битового поля, потому что типы битового поля подразумевают ограничения памяти. Если вы только хотите задать переменную с конечным числом значений, перечисления предпочтены, поскольку они включают более читаемый код.
Типы с размером, больше, чем int потому что switch выражение, которое требует типа с размером, больше, чем int подразумевает слишком много меток случая и может быть возможно перепроектирован.
Типы нецелого числа не поддержаны в switch выражения.
Используйте переменные char, short, int или enum типы данных в switch выражения.
| Группа: Хорошая практика |
| Язык: C | C++ |
| Значение по умолчанию: 'off' |
Синтаксис командной строки:
INAPPROPRIATE_TYPE_IN_SWITCH |
| Удар: низко |