Попробуйте:
const Der* der = dynamic_cast<const Der*>(base);
dynamic_cast
не может удалить квалификатор const
.Вы можете выбросить const
отдельно, используя const_cast
, но в большинстве случаев это плохая идея.В этом отношении, если вы ловите себя, используя dynamic_cast
, это, как правило, признак того, что есть лучший способ сделать то, что вы пытаетесь сделать.Это не всегда неправильно, но считайте это предупреждающим знаком того, что вы делаете что-то нелегко.