ポインタを格納するのにboost::any
を使用していて、多態性データ型を抽出する方法が であるかどうか疑問に思っていました。Boost :: any and polymorphism
ここでは理想的には私がやりたいことの単純な例ですが、現在は機能しません。
struct A {};
struct B : A {};
int main() {
boost::any a;
a = new B();
boost::any_cast< A* >(a);
}
これは、aがB *を格納しているために失敗し、A *を抽出しようとしています。これを達成する方法はありますか?
ありがとうございました。
static_cast<A*>(boost::any_cast<B*>(a))
ここではstatic_castが適切です。 –