この男:
virtual phTreeClass* GetTreeClass() const { return (phTreeClass*)m_entity_class; }
呼び出されると、完全に再コンパイルした後でも、アクセス違反でプログラムがクラッシュしました。すべてのメンバー関数と仮想メンバー関数のメモリアドレスは正しいですが(デバッグモードのメソッドにマウスを合わせた)、この関数のメモリアドレスは0xfffffffcでした。
すべてが正常に見えました:'this'ポインター、そしてこの関数呼び出しまですべてが正常に機能します。この関数もかなり古く、私は長い間変更していませんでした。いくつかの作業の後で問題が突然発生しましたが、何が起こっているのかを確認するためにコメントしましたが、成功しませんでした。
だから私は仮想を削除し、コンパイルしました、そしてそれはうまくいきます。仮想を追加してコンパイルしましたが、それでも問題なく動作します。基本的に何も変更していませんが、以前に完全な再コンパイルを行ったのに、当時はまだエラーが発生していたことを覚えています。
問題を再現できませんでした。しかし今、それは戻ってきました。何も変更しませんでした。仮想を削除すると問題が修正されます。