• Announcements

Archived

This topic is now archived and is closed to further replies.

Memory leak with MFC's CString

Recommended Posts

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.

Share on other sites
When you new something as array, you have to delete it as array too:

Change to that:

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

Awesome, thanks.

• Partner Spotlight

• Forum Statistics

• Total Topics
627654
• Total Posts
2978447

• 10
• 12
• 22
• 13
• 33