C ++:解除分配内存时出错 - 下一个大小无效

时间:2016-02-25 22:53:04

标签: c++ delete-operator

我正在尝试删除传递给函数的数组。但是我“有时”得到 glibc 错误: free():下一个尺寸无效(快)

int * enlarge(int* arr, int add, int oldsize){
    int *resize= new int[add + oldsize];
    for(int i = 0; i < add +oldsize; i++){
        if(i<oldsize)
            resize[i] = arr[i];
        else
            resize[i] = 0;
    }
    delete [] arr;
    return resize;
}

我以这种方式称呼它:

p = new int[K];

p = enlarge(p,1,K);

如果有人帮我删除“arr”,我真的很感激。

0 个答案:

没有答案
相关问题