E2558 値 '\U08x' が char16 t 文字定数に含まれていません(C++)

提供: RAD Studio
移動先: 案内検索

コンパイラのエラーと警告(C++):インデックス への移動


この char16_t 文字は、char16_t 文字の範囲に含まれていません。 UNICODE 文字の中には、16 ビットの領域に収まらないものがあります。 そのような文字を char16_t 型に格納することはできません。


例:


//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.