Bonsoir,
Tout d'abord le dynamic_cast ne devrait être fait que par référence ou pointeur car sinon il y as ce qu'on appel du "slicing". http://en.wikipedia.org/wiki/Object_slicing
fils = dynamic_cast<typeid(fils)> sup; //Erreur ça marche pas , pourquoi ???
C'est impossible en C++ standard, mais il n'y en as aucun besoin. Tous simplement pacque si tu écrit cette ligne de code c'est que tu connais forcement le type de "fils" et donc pas besoin de le faire deviner au compilateur au cour de l'exécution(ce qui est impossible puisque le type doit être connu a la compilation).
Par exemple si j'écris:
classFille<2> fils = dynamic_cast<classFille<2> > sup; //On connais forcement déjà le type de fils.
Maintenant si le problème c'est juste que ça t'embête d'écrire deux fois la même chose... dit toi que c'est pour te dissuader de le faire, car en général on évite.
Si tu nous en dit plus sur ton problème, nous pourrons peut-être te dire comment l'éviter.
Partager