【发布时间】:2014-07-03 17:33:17
【问题描述】:
我正在尝试打印出 std::u32string,但我不断收到编译错误消息:
error: invalid operands to binary expression
('ostream' (aka 'basic_ostream<char>') and 'std::u32string' (aka
'basic_string<char32_t>'))
我的代码是这样的:
std::u32string test = U"hello";
std::cout << test << std::endl;
有谁知道打印出 u32string 的正确方法是什么? 我对使用普通字符串或 wchar 字符串不感兴趣。
【问题讨论】:
-
std::u32string是typedef的basic_stream <char32_t>,对于char32_t类型的字符只有operator<<(cout或wcout不是这种情况)。我会把这个问题作为重复的,因为知道这一点,链接的问题会回答你的问题。 -
@Holt:链接的问题询问为什么这不容易做到,但没有询问如何做到这一点。我说这个问题不是重复的。
-
我之前确实看过那个帖子,但我不认为它是重复的,因为正如 Brian 所说,它没有解释我如何实际打印 u32strings。