会社のブログログイン登録スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。スマートポインタを用いて基底クラスを派生クラスにダウンキャストする方法が知りたいです。std::dynamic_pointer_cast<Base>(derived);を参考にDerivedがderでbaseがbaseに置き換わり派生から基底じゃなくて基底から継承になるだけなだけのはずなのですが以下のエラーが出ます。std::dynamic_pointer_cast<der>(d);をコメントアウトするとエラーがなくなるのでこの下の行である最後の行がエラーの原因です。異なる場合は、質問文にそれぞれのエラーメッセージを載せるべきです。polymorphicとあります。baseクラスの派生クラスが多態的に振舞うために、baseクラスに何らかのvirtual関数が含まれている必要があります。std::shared_ptr/std::dynamic_pointer_castを使用せずとも、dynamic_castでも同様の事が起きます。|この質問に回答するには、ログインする必要があります。求めていた回答ではありませんか?c++のタグが付いた他の質問を参照する。なんですか?0std::vector<>型のiteratorを使いそのクラスのメンバ関数を使う方法が知りたい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。従って情報を開示できることに同意したことになります。選択した項目のみ受け入れる。