Как std :: stringstream обрабатывает wchar_t * в operator <

Учитывая, что следующий фрагмент не компилируется:

std::stringstream ss;
ss << std::wstring(L"abc");

Я не думал, что и этот будет:

std::stringstream ss;
ss << L"abc";

Но он есть (по крайней мере, на VC ++). Я предполагаю, что это связано со следующей перегрузкой ostream :: operator << :

ostream& operator<< (const void* val );

Может ли это незаметно нарушить мой код, если я случайно смешаю типы символов?

5
задан Pedro d'Aquino 1 October 2010 в 19:39
поделиться