Template et surcharge d'opérateur
Bonjour, j'ai une classe template pour laquelle je surcharge l'opérateur(), celui doit ainsi pouvoir 5 arguments dont 4 facultatifs.
Code:
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;
} |
Si j'effectue dans du code un appel de l'opérateur() le compilateur me dit qu'il attend 5 paramètres.
Code:
1 2 3 4 5 6 7
|
int main(int argc, char* argv[])
{
demo<double> *essai = new demo<double>(2.5);
(*essai)(1);
} |
Erreur de compilation