Я пытался адаптировать this, чтобы распечатать содержимое std::vector<std::wstring>
, используя std :: copy, но я не понимаю, как этот код работает достаточно хорошо, и может 'получить его для компиляции. Каким должен быть код?Распечатайте std :: vector <std :: wstring>
Я использовал пример Роба, но он не работает:
std::vector<std::wstring> keys = ...;
std::copy(keys.begin(), keys.end(), std::ostream_iterator<std::wstring>(std::wcout, " "));
Я получаю ошибку:
1>error C2665: 'std::ostream_iterator<_Ty>::ostream_iterator' : none of the 2 overloads could convert all the argument types
1> with
1> [
1> _Ty=std::wstring
1> ]
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\iterator(300): could be 'std::ostream_iterator<_Ty>::ostream_iterator(std::basic_ostream<_Elem,_Traits> &,const _Elem *)'
1> with
1> [
1> _Ty=std::wstring,
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> while trying to match the argument list '(std::wostream, const char [2])'
Почему говоря мне _Elem=char
, когда я использую wcout
, который имеет тип wostream
?
Просьба примера кода и информации о сообщении об ошибке демонстрирует проблему , – BartoszKP