Этот парень:
virtual phTreeClass* GetTreeClass() const { return (phTreeClass*)m_entity_class; }
При вызове вылетала программа с нарушением прав доступа даже после полной перекомпиляции. Все функции-члены и виртуальные функции-члены имели правильные адреса памяти (я наводил указатель мыши на методы в режиме отладки), но эта функция имела неправильный адрес памяти: 0xfffffffc.
Все выглядело нормально: указатель this, и все работает до вызова этой функции. Эта функция также довольно старая, и я долго ее не менял. Проблема внезапно возникла после некоторой работы, которую я все прокомментировал, чтобы увидеть, что делает, без какого-либо успеха.
Итак, я удалил виртуальный, скомпилированный, и он работает нормально. Я добавляю виртуальный, скомпилированный, и он все еще работает отлично! Я практически ничего не изменил и помню, что раньше я делал полную перекомпиляцию, и тогда у меня все еще была ошибка.
Я не смог воспроизвести проблему. Но теперь он вернулся. Я ничего не изменил. Удаление виртуальных исправляет проблему.