Bonjour
J'ai un petit problème avec la surcharge d'un opérateur.
J'ai une structure Vector :
Voici le prototype de la fonction operator* :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 struct Vector { private : double* tab; int nbComponent; public : Vector(int n) throw(std::invalid_argument); Vector(const Vector& vector); virtual ~Vector(); ... };
et voici sa définition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Vector operator * (double number, const Vector& vector);
Lors de la compilation, j'obtiens à la ligne de la déclaration du prototype de la fonction operator* l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Vector operator * (double number, const Vector& vector) { Vector result(vector.getNbComponent()); for (int i=0; i<vector.getNbComponent(); ++i) { result.setValue(i, number * vector.getValue(i)); } return result; }
D'où pourrait venir cette erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part error: expected constructor, destructor, or type conversion before operator
Merci d'avance de votre aide.
Partager