Bonjours à tous,
Je viens à nouveau faire un appel au secours pour m'aider à me sortir de ce problème que je train depuis pas mal de temps maintenant.
Je suis en train de faire une librairie qui regrouperas les objets c++ les plus usuels (point, vecteurs...) et je suis tombé sur un problème que je ne peux expliquer.
Il y à plusieurs bibliothèques. Chacune des classe dérive de la classe Object. Pour la librairie Geom chacune des classe dérive à son tour de la classe GeomObject.
Le problème vient de la classe vecteur (qui utilise deux instance de la classe point). Lorsque je fait une affectation le compilateur me renvoie :
In member function `dza::dzPoint<PT_TYPE>& dza::dzVecteur<VEC_TYPE>::operator=(const dza::dzVecteur<VEC_TYPE>&) [with VEC_TYPE = float]'
instantiated from here
error: invalid initialization of reference of type 'dza::dzPoint<float>&' from expression of type 'dza::dzVecteur<float>'
instantiated from here pointe sur ces deux ligne :
v1.operator=(v2);
v2=v1;
error: invalid initialization of ref... pointe sur :
template <class VEC_TYPE>
dzVecteur<VEC_TYPE>& dzVecteur<VEC_TYPE>::operator=(const dzVecteur<VEC_TYPE> &vec) {
mpt1=vec.pt1();
mpt2=vec.pt2();
return *this;
}
Ce que je ne comprend pas c'est que this est bel et bien de type vecteur ????
Voila si je n'ais pas été claire fait moi signe
Damien
*
Les fautes d'orthographes jointes à la présente missive, sont la propriété exclusive de l'auteur. Toute copie illégale pourra être passive de poursuites judiciaires, et soumises à des peines et sanctions exemplaires.