Erreur lors de surcharge d'opérateur
Bonjour
J'ai un petit problème avec la surcharge d'un opérateur.
J'ai une structure Vector :
Code:
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();
...
}; |
Voici le prototype de la fonction operator* :
Code:
Vector operator * (double number, const Vector& vector);
et voici sa définition :
Code:
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;
} |
Lors de la compilation, j'obtiens à la ligne de la déclaration du prototype de la fonction operator* l'erreur suivante :
Code:
error: expected constructor, destructor, or type conversion before operator
D'où pourrait venir cette erreur ?
Merci d'avance de votre aide.