C ++ 11: "reducción de conversión dentro de {}" con módulo

Intento compilar el siguiente código congcc yC++11 habilitado:

unsigned int id = 100;
unsigned char array[] = { id % 3, id % 5 };

Recibo estas advertencias:

Reducción de la conversión de ‘(id% 3u)’ de ‘unsigned int’ a ‘unsigned char’ dentro de {} [-Wnarrowing]

ver demo en línea

¿Hay alguna manera de ayudar al compilador a descubrir que el resultado deid% 3 cabe en unchar sin firmar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta