【发布时间】:2016-10-01 16:05:00
【问题描述】:
我尝试覆盖字符文字以使它们成为 char16_t、wchar_t、char32_t 和 char通过使用 u、U、L 和 u8 前缀。它适用于除了 u8。见下文:
#include <iostream>
using std::cout; using std::endl;
int main(){
cout<<"\'a\'----"<<'a'<<endl;
cout<<"L \'a\'----"<<L'a'<<endl;
cout<<"u \'a\'----"<<u'a'<<endl;
cout<<"U \'a\'----"<<U'a'<<endl;
//cout<<"u8 \'a\'----"<<u8'a'<<endl;
return 0;
}
控制台输出:
'a'----a
L 'a'----97
u 'a'----97
U 'a'----97
当我取消注释 u8 行时,我收到以下错误:
'u8' was not declared in this scope prog.cpp
你知道为什么它不起作用吗?
【问题讨论】:
-
不要发布文字图片,尤其是图片链接(链接可能会过时)。而是将实际文本复制粘贴到问题的正文中。如果您询问构建错误,请也包括构建错误(作为文本,完整,完整且未经编辑)。
-
好的。谢谢你。我现在要编辑