Memory leak with MFC's CString

Started by
1 comment, last by Kranar 20 years, 6 months ago
For whatever reason, when I create a pointer that allocates more than 1 MFC CString, my program crashes when I free the memory used, which essentially forces me to have to allow memory leaks. For example, this code will not crash my program:

CString *x = new CString;
delete x;
But this will crash my program:

CString *x = new CString[2];
delete x;
I have no idea why this is and it only happens with MFC CStrings. If I use doubles, or ints, then it works fine, no memory leaks, but for some reason with CString''s it ends up crashing.
Advertisement
When you new something as array, you have to delete it as array too:

Change to that:

CString *x = new CString[2];
delete[] x;

Fruny: Ftagn! Ia! Ia! std::time_put_byname! Mglui naflftagn std::codecvt eY'ha-nthlei!,char,mbstate_t>

Awesome, thanks.

This topic is closed to new replies.

Advertisement