我正在学习 C++ 中的异常处理并遇到问题。这是代码:
#include<iostream>
#include<exception>
using namespace std;
class A
{
public:
virtual void f(void){}
};
class AA:public A
{
public:
void aa(void){};
};
int main(void)
{
A a;
try
{
dynamic_cast<AA>(a).aa();
}
catch(exception ex)
{
cout<<"["<<ex.what()<<"]"<<endl;
}
return 0;
}
所以我认为 try catch 将允许函数执行并向我显示异常的内容,但我的编译器没有编译它。我正在使用带有 GNU GCC 的代码块。请帮助我并向我展示我需要做什么才能使代码按预期运行。多谢。