オブジェクト ポインターがパラメーターとして渡されるメソッドを作成し、メソッドBase
内で派生オブジェクト ポインターにキャストしたいと考えています。
void func( const Base* const obj){
Derived* der = dynamic_cast<Derived*>(obj);
}
ただし、動的キャストは const 指定子をキャストできないため、エラーが表示されます。const
しかし、ここで指定子を削除する必要がある理由を理解していません。私がしているのは、ベースポインターの後のオフセット量を指す派生ポインターを作成することだけです。も試しましたが、結果はありません。const Derived* const der = dynamic_cast<Derived*>(obj);
パラメータを として渡すことが重要const
です。これどうやってするの?const_cast
最初に申請してから申請するという醜い方法でそれを行う必要がありdynamic_cast
ますか? 何か良い方法はありますか?