【发布时间】:2013-10-24 00:28:47
【问题描述】:
为什么会编译:
char ch = '1234'; //no error
但不超过 4 个chars :
char ch = '12345'; //error: Too many chars in constant
(是的,我知道' ' 用于一个char," " 用于字符串;我只是在试验)
这是否与chars 使用 ASCII 数字表示这一事实有关?
【问题讨论】:
-
是什么让您认为不应该这样做?
-
@AndreyT 我不知道多字符文字,并认为编译器会拒绝单引号中的多个字符。
-
完全没有理由在 C++11 中使用多字符文字,因为您可以编写自己的 UDL。