65,190
社区成员




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); //报错?