Closed zmdyy0318 closed 3 years ago
这是一个疑问,网上实在搜不到解决方案了,来这里问问,不行的话直接关闭哈。 场景: 往函数里传递Cyan::EventBase &event, Cyan::MiraiEvent type两个参数,根据type类型强制把基类转换成派生类正常使用,减少代码冗余。在自行测试中,static_cast、dynamic_cast 均提示No matching conversion for static_cast from 'Cyan::EventBase' to 'Cyan::GroupMessage'
已有解决方案
可以将EventBase的引用或指针转化为GroupMessage的引用或指针 要注意避免对象切割(Object Slicing)
这是一个疑问,网上实在搜不到解决方案了,来这里问问,不行的话直接关闭哈。 场景: 往函数里传递Cyan::EventBase &event, Cyan::MiraiEvent type两个参数,根据type类型强制把基类转换成派生类正常使用,减少代码冗余。在自行测试中,static_cast、dynamic_cast 均提示No matching conversion for static_cast from 'Cyan::EventBase' to 'Cyan::GroupMessage'