内存释放问题求救!!!!
代码如下:
typedef struct _tagFIMRGBImageRec
{
DWORD dwFIMFileWidth;
DWORD dwFIMFileHeight;
DWORD dwImageWidth;
DWORD dwImageHeight;
unsigned char* pImageData;
_tagFIMRGBImageRec()
{
dwFIMFileWidth = 0;
dwFIMFileHeight = 0;
dwImageWidth = 0;
dwImageHeight = 0;
pImageData = NULL;
}
}CSFIMRGBIMAGEREC;
typedef CSFIMRGBIMAGEREC* LPCSFIMRGBIMAGEREC;
LPCSFIMRGBIMAGEREC m_pCSFIMRGBImageRec;
LPCSFIMRGBIMAGEREC LoadFIMRGBImage(char *FileName)
{
CSFIMRGBIMAGEREC* lpCSFIMRGBImageRec = new CSFIMRGBIMAGEREC;
。。。。。。。。。。
lpCSFIMRGBImageRec->pImageData = new UCHAR[1024];
。。。。。。。。。。
return lpCSFIMRGBImageRec;
}
m_pCSFIMRGBImageRec = LoadFIMRGBImage("d:/missxyz/13000001.FIM");
// 在对象析构函数中释放内存
if (m_pCSFIMRGBImageRec)
{
if (m_pCSFIMRGBImageRec->pImageData)
{
delete [] m_pCSFIMRGBImageRec->pImageData;
}
m_pCSFIMRGBImageRec->pImageData = NULL;
delete m_pCSFIMRGBImageRec;
m_pCSFIMRGBImageRec = NULL;
}
问题是为什么程序运行到释放内存部分会出现错误?我的方法是不是用错了啊?用这种方法申请的内存在怎样释放啊?