Bonsoir,
J'ai une classe Matrix<class T>, j'ai implémenté à peu près tous les opérateurs mais voilà j'ai un gros problème avec g++ 4.4.3.
Quand je fais K += M.inverse() ou K = Matrix<..>(..) j'ai l'erreur suivant "no match for operator+= / operator= etc ... IDM pour les autres opérateurs.
Prototype: Matrix<..>& operatot+=(Matrix<..>&), Matrix<..>& operatot=(idm),
Matrix<..> operatot+(idm), ... idm.
La méthode inverse renvoie une copie de l'inverse de la matrice.
De même ce code:
... me met la même erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class MyCla { private : Matrix<..> M; public: MyCla(int a): M( Matrix<..>::Identity(a)) {} }
Ici identity est une methode static qui renvoi la matrice identité en copie ...
Je comprends pourquoi il ralle mais pour quoi ça ne marche pas? Est ce à cause de la version de g++? Est ce moi qui fais des conneries? Je ne vais certainement pas créer 2 surcharges pourchaque operators ???
Merci d'avance,
Partager