、ベースの場合はdynamic_castはポインタを使用する場合に例外をスローしますか?私は以下のようないくつかのことのようにポインタをキャストするために、私の元にはdynamic_castを使用しています
Base *base = here storing the pointer;
Derived *derived = dynamic_cast<Derived*>(base);
は、キャストが失敗するとNULLを返すクラス階層のポインタを持っていません。次の行ではNULLをチェックしています。だから問題はない。
私はクラッシュダンプを見つけました。私のアプリケーションは、dynamic_castスロー例外のためにクラッシュしました。
dynamic_castは参照型とともに使用された場合にのみスローされることはわかっています。
上記のソースで使用したように、dynamic_castでポインタを使用すると例外がスローされることはありますか?それ(base
)に渡されたポインタが無効な場合
[http://stackoverflow.com/questions/278429/what-could-cause-a-dynamic-cast-to-crash] – prasadmadanayake