【发布时间】:2012-01-08 03:47:54
【问题描述】:
我正在使用上面的代码来动态分配一个数组,在函数内部做一些工作,返回数组的一个元素并释放函数外部的内存。但是当我尝试解除分配数组时,它不会释放内存并且我有内存泄漏。指向 myArray 变量的调试器向我显示错误 CXX0030。为什么?
struct MYSTRUCT
{
char *myvariable1;
int myvariable2;
char *myvariable2;
....
};
void MyClass::MyFunction1()
{
MYSTRUCT *myArray= NULL;
MYSTRUCT *myElement = this->MyFunction2(myArray);
...
delete [] myArray;
}
MYSTRUCT* MyClass::MyFunction2(MYSTRUCT *array)
{
array = (MYSTRUCT*)operator new(bytesLength);
...
return array[X];
}
【问题讨论】:
标签: c++ arrays pointers memory-leaks