boost::shared_polymorphic_downcast
ブースト1.52.0と1.53.0の間で消えました。リリース ノートではこれについて何も言及されておらず、コミット (r81463) には「shared_ptr キャストの更新」という不可解なログ メッセージのみが含まれています。
代わりに何を使用する必要があるのか、またはこの機能が削除された理由は明確ではありません。誰でも助けることができますか?
編集:洞察に満ちたコメントをありがとう。私は、boost が正当な理由や通知なしに、後方互換性のない変更をリリースに加えることに少し不満を感じています。しかし、応答に基づいて、1 行ではなく 2 行のコードでやりたいことができるので、それで十分だと思います。の古い動作を取得する簡単な方法を誰も提供していないため、この質問は「未回答」のままにしていboost::shared_polymorphic_downcast
ます。つまり、dynamic_cast
デバッグが有効な場合はa を使用し、static_cast
そうでない場合は a を使用します。