Bonjour, j'ai une classe template pour laquelle je surcharge l'opérateur(), celui doit ainsi pouvoir 5 arguments dont 4 facultatifs.
Si j'effectue dans du code un appel de l'opérateur() le compilateur me dit qu'il attend 5 paramètres.
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 template <class T> demo { public demo(T a) { membre = a; } inline T& operator()( int dim1, int dim2 = 0, int dim3 = 0, int dim4 = 0, int dim5 = 0 ) { return membre; } protected; T membre; }
Erreur de compilation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int main(int argc, char* argv[]) { demo<double> *essai = new demo<double>(2.5); (*essai)(1); }
Partager