仮想クラスをデリートするときのワーニング
ゲーム作成をしてたら、ワーニングが発生したので一応直し方
正直、有名だとは思うけど
warning: deleting object of abstract class type ’xxx ’ which has non-virtual destructor will cause undefined behaviour
というワーニングが発生した
これはxxxという仮想クラスであるクラスをdeleteしようとすると発生した
こちらの場合はファクトリーメソッドを使用していたため、仮想クラスに派生クラスを入れていた
まあわざわざ備忘録として書くほどでもないと思うけれども
そのまま書いているように、
仮想クラスの型である’xxx ’をdeleteしていますが、
仮想でないデストラクタを持っているため、未定義の動作を起こすかもしれない
みたいなことです なので、デストラクタをvirtualにするだけでワーニングは消えた
P.S.
赤軸は使いやすいけれども
タイプミスをしかけてやめようとしても間に合わなかったり
底打ちしないように心がけるとタイプできてないことがある
青軸も使ってみたいわ〜