Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2007, 02:50
caraplo
 
Fecha de Ingreso: julio-2006
Ubicación: Sevilla
Mensajes: 94
Antigüedad: 18 años, 4 meses
Puntos: 1
Sobrecarga de operadores en namespace

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.