Постоянное значение выходит за пределы области значений типа данных беззнаковых целых чисел
Постоянное переполнение беззнакового целого происходит, когда вы присваиваете время компиляции, постоянное переменной беззнаковых целых чисел, тип данных которой не может разместить значение. n
битное беззнаковое целое содержит значения в области значений
.[0, 2n-1]
Например, c
является 8-битной переменной char
без знака, которая не может содержать значение 256.
unsigned char c = 256;
Чтобы определить размеры фундаментальных типов, Средство поиска Ошибки использует вашу спецификацию для Target processor type (-target)
.
Стандарт C утверждает, что переполнение беззнакового целого должно быть перенесено (см., например, стандарт C11, разделите 6.2.5). Однако всеобъемлющее поведение может быть непреднамеренным и вызвать неожиданные результаты.
Проверяйте, является ли постоянное значение тем, что вы предназначили. Если значение правильно, используйте более широкий тип данных для переменной.
Группа: числовой |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки:
UINT_CONSTANT_OVFL |
Влияние: низко |
ID CWE: 128, 189, 190, 191 |
Find defects (-checkers)
| Integer constant overflow
| Integer conversion overflow
| Integer overflow
| Sign change integer conversion overflow
| Unsigned integer conversion overflow
| Unsigned integer overflow