私は、悪いクラス階層のこのようなひどい問題にちょっと悩まされています。実際の基本クラスにアップキャストする
class A {...}; // abstract
class B : public A {...}; // abstract
class C {...}; // abstract
class a1 : public B, public C {...}; // indirect inheritance of A
class c1 : public A, public C {...};
質問:それはクラスAへのポインタ(参照)にCへのポインタ(参照)を変換可能である
私は最善の解決策は、Cは、Aから継承しただけでクラスを作ることであることを理解しますが、それでもクラスa1(2つの基底A)に何らかの問題を引き起こす可能性があります。
CとAはありませんので、あなたは、静的なキャストと2の間で変換することができない、完全に無関係です。あなたはそれらの変換演算子を作成することができるかもしれません(または再設計することができます) – UKMonkey