Неявный тип литеральной константы 256 равен int
, поэтому вы сравниваете int
с uint8_t
.
Само сравнение вызывает неявное повышение до int
, но в любом случае всегда ложно, поскольку 256 не может быть представлено uint8_t
.
ЭтоНепонятно, каким может быть соответствующее решение, но если все значения переменной uint8_t
являются действительными, тест не имеет смысла, и наивное изменение более крупного типа может фактически привести к ошибкам, позволяя присваивать недопустимые значения.