问题描述
Qt for Android 环境下发现 dynamic_cast 转换失败,最终确认是因为跨模块的原因。即 communicate 模块中的指针在 machine 模块中进行转换时会失败,在本模块中没有问题。
解决方法
由类内部提供接口转换后返回,再到 NetworkP53 类中实现其接口。
// ICommunicate.h
class ICommunicate
{
public:
// Qt Android 下跨模块使用 dynamic_cast 失败,由内部转换后提供
virtual IDCCommunicate* toDCCommunicate() = 0;
virtual IExCommunicate* toExCommunicate() = 0;
}
1006

被折叠的 条评论
为什么被折叠?



