Je veux créer une classe vecteur dont le type des vecteurs peut varié. Et je cherche à surcharger l'opérateur << . Quand je supprime la notion de template et que je remplace par un type bien défini, il n'y a pas de problème, mais avec template, est-ce que quelqu'un pourrait m'indiquer ou est l'erreur :)
//maths.cpp
#include <iostream>
#include "maths.h"
template <class TYPE>
inline std::ostream & operator<<(std::ostream & chaine, const vector3D<TYPE> & vect)
{
chaine << "(" << vect.x << "," << vect.y << "," << vect.z << "\n";
return chaine;
}
// la classe vector3D :
//maths.h
template <class TYPE>
class vector3D
{
private:
unsigned int used;
public:
TYPE x,y,z;
vector3D(...)...; // je détaille pas
vector3D(const vector3D & vect_source);
~vector3D() {}
void set(const TYPE cx, const TYPE cy, const TYPE cz);
};
template <class TYPE>
inline std::ostream & operator<<( std::ostream & chaine, const vector3D<TYPE> & vect);
Merci d'avance