void operator delete(
        void *pUserData
        )
{
        _CrtMemBlockHeader * pHead;

        RTCCALLBACK(_RTC_Free_hook, (pUserData, 0));

        if (pUserData == NULL)
            return;

        _mlock(_HEAP_LOCK);  /* block other threads */
        __TRY

            /* get a pointer to memory block header */
            pHead = pHdr(pUserData);

             /* verify block type */
            _ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));

            _free_dbg( pUserData, pHead->nBlockUse );

        __FINALLY
            _munlock(_HEAP_LOCK);  /* release other threads */
        __END_TRY_FINALLY

        return;
}

#endif  /* _DEBUG */

내가 작성한 코드는 너무길어서 횽들이 귀찮을꺼 같아서 못올리겠구

프로그램 종료할 때 디버그에서 저 코드의

 

            _ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));

요줄에서 에러 잡히는데 디버그 계속하면 힙이 손상되었다는 둥 뭐 그런 에러 떠...

뭘 의미하는 에러인지 알면 좀 알려줘