Я пытаюсь скомпилировать следующий код с включенными gcc
и C++11
:
unsigned int id = 100;
unsigned char array[] = { id % 3, id % 5 };
Я получаю эти предупреждения:
сужение преобразования ‘(id % 3u)’ из ‘unsigned int’ в ‘unsigned char’ внутри { } [-Wnarrowing]
Есть ли способ помочь компилятору определить, соответствует ли результат id % 3 unsigned char?
static_cast<unsigned char>(id % 3)
? - person Borgleader   schedule 17.11.2014