无论何时我尝试运行此代码,此代码都会返回一个错误。有人可以帮帮我吗。动态铸造问题
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();
}
你应该发布你在运行代码时得到的错误。 – 2010-08-05 17:49:45
如果您想成为下一个卡拉什尼科夫分解员工受害者nr 1,请编写此代码。 为什么地球上您需要dynamic_cast? – jpinto3912 2010-08-05 17:54:48
您当然不需要'dynamic_cast'来调用虚函数。这是虚拟功能的重点。并且在取消引用指针之前总是检查转换是否成功。 – 2010-08-05 18:14:40