中文字符太大,无法包含字符文字类型

Chinese character too large for enclosing character literal type

我正在尝试将汉字牛指定为 C++ 中的 char 值。在 Xcode,我收到错误:

"Character too large for enclosing character literal type."

当我使用 JDoodle 或 Browxy 等在线 IDE 时,出现错误:

"multi-character character constant."

不管我用char,char16_t,char32_t还是wchar_t,都不行。我以为任何汉字至少都可以放入wchar_t,但事实并非如此。我能做些什么不同的事情?

char letter = '牛';
char16_t character = '牛';
char32_t hanzi = '牛';
wchar_t word = '牛';

你所有的 character literals 都是标准的 char。要获得更宽的类型,您需要在文字上包含正确的前缀:

char letter = '牛';
char16_t character = u'牛';
char32_t hanzi = U'牛';
wchar_t word = L'牛';