C ++ 11: "Konvertierung innerhalb von {} eingrenzen" mit Modul

Ich versuche den folgenden Code mit @ zu kompiliergcc undC++11 aktiviert

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

Ich bekomme folgende Warnungen:

Einschränkende Konvertierung von "(id% 3u)" von "unsigned int" in "unsigned char" innerhalb von {} [-Wnarrowing]

Demo online ansehen

Gibt es eine Möglichkeit, dem Compiler zu helfen, das Ergebnis von @ herauszufindeid% 3 passt in einunsigned char?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage