Bonjour,

j'ai une methode avec un parametre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
template<class T>
typename A<T>::N* A2<T>::insert(typename A<T>::N &n, const A<T> &a)
{
   //...
   const A2 *q = const_cast<const A2 *>(&a);
   //...
}
Mais le compilateur m'affiche ceci:
invalid const_cast from type `const A<int>*' to type `const A2<int>*'

Pouvez-vous m'expliquer pourquoi?

J'ai reussi a regler le probleme en remplacant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
const A2 *q = const_cast<const A2 *>(&a);
par ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
const A2 *q = dynamic_cast<const A2 *>(&a);
Mais est-ce la meilleur solution?

Merci d'avence.