Я пытаюсь заменить все dynamicCasts в моем коде на objectCast QT. Но я наткнулся на небольшую загадку. Вот иерархия моих объектов:
class ABase : public QObject
class IAbility; // Registered as Qt Interface
class ISize; // Registered as Qt Interface
class Derived : public ABase, public IAbility, public ISize; // Uses Q_INTERFACES
Используя objectCast, я могу конвертировать Derived в ISize или IAbility. Однако в одной точке моего кода я хочу выполнить следующее преобразование: Derived-> ISize-> IAbility. Это последний акт, где я получаю ошибку. Поскольку IAbility никак не связана с ISize, это может вызвать проблемы. Я мог бы сделать динамический бросок в этот момент, но я бы предпочел нет.