No hace falta decir más de lo que el siguiente código:¿Por qué ostream_iterator no funciona como se esperaba?
#include <utility>
#include <vector>
#include <iostream>
#include <iterator>
using namespace std;
typedef pair<char, char> PAIR;
ostream& operator <<(ostream& os, const PAIR& r)
{
return os << r.first;
}
int main()
{
vector<PAIR> coll;
cout << coll[0]; // OK.
// The following line will cause a compilation error! Why???
copy(coll.begin(), coll.end(), ostream_iterator<PAIR>(cout));
}
¿Puede explicar cómo funciona su solución posterior? –
@ IvanZ.Siu: mira mi actualización. – wilx