Этот код возвращает мне сообщение об ошибке, когда я пытаюсь запустить этот код. Может кто-нибудь, пожалуйста, помогите мне.Проблема с динамическим литьем
struct m
{
virtual int s()
{
return 1;
}
};
struct n : public m
{
int s()
{
return 2;
}
};
int o()
{
n* p=new m;
m* q=dynamic_cast<p>;
return q->s();
}
Вы должны указать, какую ошибку вы получите при запуске кода. –
Напиши такой код, если ты хочешь стать следующей жертвой калашниковых-разрушителей-сотрудников № 1. Зачем вам здесь нужен dynamic_cast? – jpinto3912
Вам, разумеется, не нужно 'dynamic_cast' для вызова виртуальной функции. В этом весь смысл виртуальных функций. И всегда проверяйте, чтобы бросок преуспел до того, как вы разыщите указатель. –