- 如果父类继承了 std::enable_shared_from_this
- 子类也继承了 std::enable_shared_from_this
- 那么,在子类里获取 shared_from_this 拿到的是 父类,会报错
B::insertme
terminate called after throwing an instance of 'std::bad_weak_ptr'
what(): bad_weak_ptr
*/
- 子类需要把自己的shared ptr 传递给方法用,此时必须做转换
- 大神的分析
- 说子类不继承,只让父类继承:
- 子类如果用 shared frome this ,要做个转换
父类转为子类C的 :
std::static_pointer_cast
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)