Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > GNU toolchain > C++0x char16_t и char32_t


Автор: rudvil 30.10.2010, 00:22
Потихоньку осваиваю C++0x, почти сразу возникла непонятка, каким образом можно вывести на экран то что находится в std::u32string
Простой cout не подходит(я все же рискнул)
Цитата(g++)
C:\Users\rudvil>g++ 0.cc -std=c++0x -s -O3 -otest
0.cc: In function 'int main(int, char**)':
0.cc:6:16: error: cannot bind 'std::ostream' lvalue to 'std::basic_ostream<char>&&'
c:\mingw\bin\../lib/gcc/mingw32/4.5.1/include/c++/ostream:579:5: error:   initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operat
or<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char, _Traits = std::char_traits<char>, _Tp = std::basic_string<char32_t>]'

тут все ясно он рассчитан только на "char".
Для "wchar_t" есть std::wstring, std::wcout, std::wfstream...
А для char16_t, char32_t спец. cout'a нету?
или ещё не сделали?
или он вообще печататься не должен, т.е. не рассчитан для вывода через cout?
 smile 

Автор: leniviy 1.11.2010, 12:59
В gcc 4.5.1 этого нет. 

Автор: rudvil 1.11.2010, 15:41
Т.е. ещё не сделали, жалко... будем ждать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)