無論何時我嘗試運行此代碼,此代碼都會返回一個錯誤。有人可以幫幫我嗎。動態鑄造問題
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