• Advertisement
Sign in to follow this  

Why does this cause a memory leak?

This topic is 647 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi guys,

 

I am confused as to why this reports an eight byte memory leak?

 

 #define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#include<vector>
 
class Test
{
public:
 Test() {}
 ~Test() {}
private:
};
 
std::vector<Test> vectorTest;           // This line causes a leak
 
int main()
{
 #ifdef _DEBUG
  _CrtDumpMemoryLeaks();
  _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
 #endif
 
 return 0;
}

 


Detected memory leaks!

Dumping objects ->

{154} normal block at 0x00810E98, 8 bytes long.

Data: < > E0 F2 09 00 00 00 00 00

Object dump complete.

 

Removing the std::vector line stops the leak.

 

Is there a 'special' way to clean up vectors that I am unaware of?

 

Thanks in advance :)

 

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement