Нельзя использовать динамическое приведение к объекту const
Я хочу написать метод, в котором указатель объекта 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? есть ли лучший способ?