Здравствуйте, винградовцы.
Подскажите, как вывести std::map в стандартный поток с помощью ostream_iterator?
c вектором всё ясно:
Код | copy(v.begin(), v.end(), std::ostream_iterator<double>(ofs, " \n"));
|
а например, std::map<string, int> m хотелось бы так:
Код | copy(m.begin(), m.end(), std::ostream_iterator<std::map<std::string, int> >(cout, " \n"));
|
но так нельзя, т.к. по понятным причинам.
Error 1 error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::pair<_Ty1,_Ty2>' (or there is no acceptable conversion) c:\program files\microsoft visual studio 8\vc\include\xutility 2228
Можно, конечно, написать свой класс MyCout и перегрузить у него оператор =, но хотелось бы что-нибудь менее "комплексное"
|