A *からC *への暗黙の変換が必要です。 私はAの定義や実装を変更できません。暗黙的に異なる型間で型変換を行う
class A
{
};
struct B: public A
{
};
struct C: public B
{
};
私は次のように記述:
A* p;
C* q = p;
私はエラーC2440を取得しています。 A *からC *に変換できません。 私はA.私は変更することはできませんという事実を与えることができますどちらのクラスも基本的なデータの単純な構造体です。
Cを変更できる場合は、A *をとるコンバージョンコンストラクタを作成できます。 Aが実際にCである可能性があるのなら、dynamic_castまたはstatic_cast を使用できます。AがCでない場合は、自分のやっていることを再考してください。 –