我正在使用boost::any
來存儲指針,並想知道是否有 提取多態數據類型的方法。Boost :: any和多態性
下面是一個理想情況下我想要做的簡單示例,但目前不起作用。
struct A {};
struct B : A {};
int main() {
boost::any a;
a = new B();
boost::any_cast< A* >(a);
}
這失敗了,因爲a正在存儲一個B *,並且我試圖提取一個A *。有沒有辦法做到這一點?
謝謝。
Zifre是對的,static_cast在這裏更合適。 – 2009-09-03 07:35:39