J'utilise boost::any
pour stocker des pointeurs et je me demandais s'il y avait un moyen d'extraire un type de données polymorphes.Boost :: any et polymorphisme
Voici un exemple simple de ce que je souhaite idéalement faire, mais qui ne fonctionne pas actuellement.
struct A {};
struct B : A {};
int main() {
boost::any a;
a = new B();
boost::any_cast< A* >(a);
}
Ceci échoue car a est en train de stocker un B *, et j'essaie d'extraire un A *. Y a-t-il un moyen d'accomplir cela?
Merci.
Zifre a raison, static_cast est plus approprié ici. –