例: Apple は基本の Fruit クラスから派生し、基本の FruitPicker クラスから派生したクラス ApplePicker があります。
ApplePicker クラスには があり、Fruit picker クラスにはievector<Apple> appleList
へのポインタがあります。vector<Fruit>
vector<fruit>* fruitList
ベクトルをこのポインターに設定できるようにする必要があるため、抽象メソッドをフルーツ ピッカー クラスで実行できます (フルーツ メンバーのみに関係するため)。しかし、これをやろうとしたときに、これを設定するのに問題があります:
this->fruitList = &(this->AppleList);
それは私にエラーを与えますcannot convert to vector<Apple> to vector<Fruit>
。静的キャストを試しましたが、同じエラーが発生しました。ベクトル以外の基本クラスと派生クラスにも同様のことを行いましたが、問題ありませんでした。
私は C++ が初めてで、NDK 経由で Android で使用しています。
私がやろうとしていることは不可能であり、のようなポインターのベクトルを使用する必要がありますvector<Fruit*>
。