使用clang ++ 3.2。 尝试打印(\ u1D586),打印一个unicode拉丁字母(utf8)
cout << << endl;
,但得到了一个编译器错误:
error: expected expression
cout << <U+1D586> << endl;
另外,
cout << "\u1D586" << endl;
了不完整的输出:
ᵘ6
似乎最后的'6'不是一起解读。
原因是什么以及如何解决这个问题?
使用clang ++ 3.2。 尝试打印(\ u1D586),打印一个unicode拉丁字母(utf8)
cout << << endl;
,但得到了一个编译器错误:
error: expected expression
cout << <U+1D586> << endl;
另外,
cout << "\u1D586" << endl;
了不完整的输出:
ᵘ6
似乎最后的'6'不是一起解读。
原因是什么以及如何解决这个问题?
\u
后面跟着4个十六进制数字,在你的情况下你应该使用\U
后跟8个十六进制数字\U0001D586
。
没错!非常感谢您指出这一点!介意解释第一个编译器错误一点点? –
@cppinitiator,因为''不是表达式,比如'5',或'“hello”'或'x'。这是胡言乱语。 – chris
@cppinitiator你必须忘记一双''''或''' – johnchen902
首先,'u8“”'(对我来说这是一个正方形,所以我不能复制它)。 –
chris
你使用什么编译器? –
$ clang ++ --version ng版本3.2(tags/RELEASE_32/final) 对象:x86_64-unknown-linux-gnu 线程模型:posix –