Какой смысл ставить x
на int
, если вы просто собираетесь сократить его диапазон?Вот что делает это очень странной просьбой.Вы должны просто сделать x
a unsigned char
- for(unsigned char x = 128; x <224; ++ x) { ...
.
. Если вы просто хотите убедиться, что вы вызываете шаблон unsigned char
специализацию write<>
, то назовите его так:
write<unsigned char>(x);
Если нет, то вам придется использовать приведение типа:
write((unsigned char)x);
Редактировать :Я только что понял, что вы можете испытывать.Я предполагаю, что вы первоначально использовали char
, но обнаружили, что что-то не так с числами свыше 127. Возможно, вам следует использовать unsigned char
для x
вместо int
или char
.Я отредактировал свой ответ, чтобы учесть это.char
имеет диапазон от -128 до +127.unsigned char
имеет диапазон 0-255.