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:
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:namespace MyNM { class uno { ... }; ... class dos { ... }; }
Código:
luego en otro fichero hago//fichero miespacio.h namespace MyNM { class uno { ... }; ostream &operator<<(ostream &os, const uno &u){ os<<"\n some text \n"; return os; }; class dos { ... }; }
Código:
pero el linker me dice:#include "miespacio.h" //...mas cosas... cout<<vble_tipo_class_uno;
multiple definition of `MyNM::operator<<(ostream&, uno&)'
alguien tiene idea de que estoy haciendo mal?
gracias a todos.