Bonjour,

J'aurai besoin d'aide pour un problème de C++.

J'ai une fonction avec un template pour un de ses 2 arguments:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
template<class T> int maFonction(T arg, int arg2)
Celle-ci peut recevoir des arguments de type simple ou des classes. Pour gérer les classes, j'utilise les shared_ptr de boost. On peut utiliser ma fonction avec cet appel:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
boost::shared_ptr<maClass> a( new maClass() );
maFonction(a, 1);
Or ma classe peut être un template donc je dois pouvoir utiliser maFonction de la manière suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
boost::shared_ptr<maClass2<float>> a( new maClass2<float>() );
maFonction(a, 1);
J'ai maintenant besoin de savoir dans maFonction si l'argument 1 est bien de type maClass2. Et ensuite pouvoir l'utiliser comme telle (utiliser les fonctions de la class).

Auriez vous une solution?

Merci par avance.