En un arranque de inspiracion he modificado el código por:
Código:
std::ostream &operator<<(std::ostream&, const mat&);
y me ha mostrado el error:
Cita: error: ‘std::ostream& mat::operator<<(std::ostream&, const mat&)’ debe tomar un argumento exactamente
Así que remodifique mi prototipo por:
Código:
std::ostream &operator<<(const mat&);
Y ya no muestra error. Lo que no significa que funcione, ya que cuando en el archivo para probar la clase hago:
el programa muestra unos errores que no podría describir, pero entre ellos hay uno que dice que no hay acciones para cout<<
Si en vez de
Código:
std::ostream &operator<<(const mat&);
pongo
Código:
std::ostream &operator<<(std::osstream&);
el programa sigue sin funcionar.
Sigo pensando que el primer prototipo debería funcionar ya que es el usado en todos los ejemplos de internet. ¿Por qué no me va a mi? (el ostream &operator<< (ostream&, const mat&);)