65,209
社区成员
发帖
与我相关
我的任务
分享bool Fun2()
{
......
ValType* pValType = NULL;
pValType = Fun1(nValue); //接受做过处理的内存空间,来使用
ValType* pValType2 = new ValType;
......
//在返回之前,释放两块内存
delete pValType;
delete pValType2;
return true;
} ValType* pValType = new ValType[nValue];
pValType = Fun1(nValue); //接受做过处理的内存空间,来使用
第一行申请得到的指针被第二行的赋值覆盖,内存泄露
vector<ValType> Fun1(int nValue)
{
vector<ValType> vec;
vec.push_back(...);
...
return vec;
}
ValType* pValType = Fun1(nValue); //多了一个=ValType* pValType = new ValType[nValue];
pValType = Fun1(nValue); //之前申请空间已经丢失无法释放
ValType* pValType = = Fun1(nValue); //报错?