Bonjour tout le monde !
pour un projet perso j'ai codé un template vector dans lequel on
spécifi la dimension du vecteur (ce qui donne par exemple
vector<3> pour un vecteur de dimension 3). Pour simplifier
la programmation avenir, j'ai donc décidé de redéfinir les opérateurs
=, + et == (voir d'autre par la suite). Pour mon template cela semble
fonctionner.
J'ai ensuite décider d'encore améliorer la lisibilité de mon programme
en créant une classe CVector3 héritant de CVector<3>,
implémentant un constructeur prenant trois float en paramètre pour
initialiser le vecteur. La aussi c'est bon. Mon problème est que la
redéfinition d'opérateur ne semble pas fonctionner pour mon CVector3,
en effet v1 = v2 + v3 ne passe pas à la compilation:
"no match for 'operator=' in 'v2 =
v3.CVector3::<anonymous>.CVector<d>::operator+ [with int d
= 3](((const CVector<3>&)((const CVector<3>*)(&
v1.CVector3::<anonymous>))))"
D'après ce que je comprend il ne trouve aucun opérateur+ pour le
CVector3. Ma question est existe-t-il un moyen de dire au compilateur
de reprendre les opérateurs de la classe dont mon CVector3 hérite ?
Merci d'avance pour vos réponse...
neodelphi