Bonjour

J'ai un petit problème avec la surcharge d'un opérateur.

J'ai une structure Vector :

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();  
        ...
};
Voici le prototype de la fonction operator* :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Vector operator * (double number, const Vector& vector);
et voici sa définition :

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;
}
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
error: expected constructor, destructor, or type conversion before ‘operator
D'où pourrait venir cette erreur ?
Merci d'avance de votre aide.