-1
#include <iostream>
using namespace std;
struct A
{
virtual void foo() { }
};
struct B1 :A
{
};
int main()
{
int x = 42;
A *a = (A*)&x;
try
{
B1 *b = dynamic_cast<B1*>(a);
}
catch (...)
{
cout << "what kind of exception is here now?";
}
return 0;
}
我趕上什麼類型的異常?的dynamic_cast指針異常捕獲
還有什麼可以我寫在括號:趕上(...)來捕獲這個異常呢?
一個'dynamic_cast'與指針不會拋出異常,它產生一個'nullptr'如果失敗。 –
'A * A =(A *)&X;'即無效。 – Jarod42
這段代碼是無稽之談。不要這樣做。 –