以下代码有内存泄漏,请高手帮忙解答下

#ifdef _DEBUG
#define New   new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif
#define CRTDBG_MAP_ALLOC 

#include<iostream>
#include<string>
#include<vector>
using namespace std;

inline void EnableMemLeakCheck()
{
    _CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
}

struct Member
{
    int j;
    char name[10];
};
class Item
{
public:
    //char str[10];
    string str;
    int    i;
    Member* mem;
};
int main()
{
    EnableMemLeakCheck();
    Item* item = new Item();
    item->i = 1;
    item->str = "Hello";
    return 0;
}

最后delete []item

new 完要delete

malloc 用完 要 free啊

在 item->str = "Hello";
后面加上 delete item;