Occurs when a deallocation is attempted with a function that is not the logical reflection of the allocator used.
Example
char *s = (char*)malloc(5); delete s;
Possible Correction Strategies
Use the appropriate deallocation function to return the memory block to the heap after its last use.
Platform | Memory Allocator | Memory Deallocator |
---|---|---|
C++ language | new operator | delete operator |
new[] operator | delete[] operator | |
C language | malloc(), calloc(), or realloc()functions | free() function |
Fortran language | allocate() function | deallocate() function |
Windows* API | Windows* dynamic memory functions such as GlobalAlloc() or LocalAlloc() | Appropriate functions, such as GlobalFree() or LocalFree() |
Caution
Parent topic: Problem Type Reference