E2558 Der Wert '\U08x' ist nicht innerhalb der char16 t-Zeichenkonstante (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index

Das char16_t-Zeichen befindet sich außerhalb des Bereichs der char16_t-Zeichen. Einige UNICODE-Zeichen befinden sich außerhalb des 16-Bit-Bereichs. Diese Zeichen können nicht im Typ char16_t gespeichert werden.


Beispiel:


//U+10919 PHOENICIAN NUMBER ONE HUNDRED
const char16_t *sl = u"\U00010919"; //valid. s1 points 0xD802, 0xDD19 and 0x000 as null-terminator
const char16_t c1 =u'\U00010919'; // error: E2558 - 0x10919 is larger than 16-bit value.