最近、アプリケーションで次のクラッシュが発生しました。
m_players[0].erase(plr); -- CRASHES HERE
m_players[1].erase(plr);
m_players
次のように宣言されています。
set<PlayerPointer> m_players[2];
Visual Studio では、「0xC0000005: アクセス違反の書き込み場所 0x0000000000000024」と表示されます。
コンパイラ: Visual Studio 2008.
逆アセンブリ: 000000014007AA3B mov rcx,qword ptr [this] (クラッシュした)
したがって、その関数での this への最初のアクセスであるため、「this」が悪いために死にかけていると思います。しかし、ローカル/自動車を見たので、これは悪いポインターではないようです。
ヒントになれば幸いです。