boost::shared_polymorphic_downcast
在 boost 1.52.0和1.53.0之间消失。发行说明中没有提及此内容,提交 (r81463) 仅包含神秘的日志消息“更新 shared_ptr casts”。
我不清楚我现在应该使用什么,或者为什么删除了这个功能。有人可以帮忙吗?
编辑:感谢大家有见地的评论。我发现自己有点沮丧,因为 boost 会在没有任何理由或通知的情况下在发布中做出向后不兼容的更改,而且我还发现它们删除了有用的功能令人沮丧。但是根据回复,我可以用两行代码而不是一行代码来做我想做的事情,所以我认为这就足够了。尽管如此,我仍然“未回答”这个问题,因为没有人提供一种简单的方法来获得 ; 的旧行为boost::shared_polymorphic_downcast
。也就是说,在dynamic_cast
启用调试时使用 a ,在不启用调试时使用 a static_cast
。