Bonjour,
pour un projet, je code une classe Matrix, dont voici le prototype :
J'ai des problèmes avec la surcharge de l'opérateur ^.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #define MapFunction double (*f)(double) class Matrix { public: Matrix(void); Matrix(Matrix& cpy); Matrix(double array[3][3]); uint getFromArray(uint x, uint y); void normalize(void); void map(MapFunction); bool operator==(Matrix& m2) const; friend Matrix operator^(int p, Matrix& m); Matrix operator*(Matrix& m2) const; string operator<<(Matrix& m) const; double& operator[](const int index); protected: double prob[3][3]; };
Si je fais
,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Matrix m; m = m ^ 2;
le compilateur gcc me dit
Savez-vous quel est le problème ?C:\Users\current_user\Documents\EPFL\Bachelor 2\Projet C++\AntSimulator\tests\TestMatrix.cpp|22|error: no match for 'operator^' in 'm3 ^ 2'|
Merci.
Salutations.
Partager