私は「ロボット」というベクトルを持っています。 QuickLimitedRobotという名前の別のObjectがあります。これはRobotから継承されていますが、もう1つのフィールドがあります。これは整数です。父のオブジェクトベクトルから子オブジェクトgetter関数に到達する方法
私は、制限されているかどうか、または他の継承されたタイプのロボットオブジェクトであるかどうかにかかわらず、すべてのロボットを含むベクターを持っており、私のコード上のgetLimit()それがQuickLimitedRobotであることを知っている。私は「非スカラー型」QuickLimitedRobotにロボットを変換しようとしたので、私のコンパイラはこれをコンパイルしません
void RobotDB::moveLimitedRobot(const int rNum, const std::string &rDirection){
int cellValue;
int locX=robots[rNum]->getCoordinate().getX();
int locY=robots[rNum]->getCoordinate().getY();
//@todo: :(
QuickLimitedRobot tempQuick=*robots[rNum];
int rLim=tempQuick.getLimit();
。
誰かが私を解決に導くことができますか?
thxを事前に入力してください!
問題を再現する[MCVE]を入力してください。 –
ダウンキャスティングは明示的でなければならず、 'dynamic_cast'または' static_cast'を使用してください – UnholySheep