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 でコードブロックを使用しています。コードを意図したとおりに実行するために必要なことを教えてください。どうもありがとう。