C++ で反復手順を実行しています。最初の反復が期待どおりに完了した後、2 番目から次のエラーが発生します。
00000000212005D0 のヒープ ブロックが 0000000021200674 で変更され、要求されたサイズの 94 を超えました Windows は myProject.exe でブレークポイントをトリガーしました。
これは、ヒープの破損が原因である可能性があります。これは、myProject.exe または読み込まれた DLL のバグを示しています。
これは、myProject.exe にフォーカスがあるときにユーザーが F12 キーを押したことが原因である可能性もあります。
出力ウィンドウには、より多くの診断情報が表示される場合があります。
このエラーが表示されている間、visual-c++ は dbgheap.c を開き、次のセクションを強調表示します。
extern "C" _CRTIMP int __cdecl _CrtIsValidHeapPointer(
const void * pUserData
)
{
if (!pUserData)
return FALSE;
if (!_CrtIsValidPointer(pHdr(pUserData), sizeof(_CrtMemBlockHeader), FALSE))
return FALSE;
return HeapValidate( _crtheap, 0, pHdr(pUserData) );
}
このエラーの原因は何ですか?