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 |
Удар: низко |