http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53683
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|c++ |libstdc++ --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-06-15 12:00:15 UTC --- (In reply to comment #0) > If, in the test program, std::u16string is replaced with std::u32string, the > program is successfully compiled. That's surprising - it shouldn't work (and doesn't with G++ 4.7) > It would be nice if std::cout also supported std::u16string objects. std::cout is for char You could use std::wstring_convert to convert a std::u16string to std::string for output (but GCC doesn't have wsring_convert yet, I plan to work on it next week.)