Probleme avec parametre operateur
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:
Code:
1 2 3 4 5 6 7 8 9
|
class MyCla
{
private :
Matrix<..> M;
public:
MyCla(int a): M( Matrix<..>::Identity(a))
{}
} |
... me met la même erreur.
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,