Hola a todos,
estoy haciendo un pequeño programita que consta de 12 clases,
las he metido todas dentro de un espacio de nombres que he creado:
Código:
namespace MyNM {
class uno {
...
};
...
class dos {
...
};
}
El tema es que necesito sobrecargar el operador << para todas ellas, por ello he optado por hacer una sobrecarga global, no metiendolo dentro de ninguna clase, pero si dentro del namespace de la forma:
Código:
//fichero miespacio.h
namespace MyNM {
class uno {
...
};
ostream &operator<<(ostream &os, const uno &u){
os<<"\n some text \n";
return os;
};
class dos {
...
};
}
luego en otro fichero hago
Código:
#include "miespacio.h"
//...mas cosas...
cout<<vble_tipo_class_uno;
pero el linker me dice:
multiple definition of `MyNM::operator<<(ostream&, uno&)'
alguien tiene idea de que estoy haciendo mal?
gracias a todos.