C++ Memory Management: Why does deleting a pointer cause my program to crash?
Q: Why does deleting a pointer cause my program to crash?
A: Because the memory that a_string points to was not allocated with new. Only delete memory that was allocated with new. In particular, this string is a constant, so you should not delete it. Also beware that you can not use delete to release memory allocated with malloc.
char* a_string = "beware, the end is near!";
FAQ contributed by: [Kevin Hall]