我正在尝试释放我为二维数组分配的内存。
代码工作正常,但我在编译时总是有警告。
我尝试了 2 种不同的方法,但每次都会出现新的警告。
int* array = fillArray(); //malloc (n*m*sizeof*array)
...
DeallocateMemory(array, n*m); //Where n and m are length and height
void DeallocateMemory(int* array, int length)
{
for (int i = 0; i < length; i++){
//free(array[i]);
//free((void*)array[i]);
}
}
free(array);
好吧,起初,我写了,free(array[i])
但警告说:
* 传递参数 1free
使指针从整数不带强制转换注:预期void*
但参数是类型int*
所以我写了void*
,但现在警告是:
从不同大小的整数转换为指针
我应该怎么做才能摆脱这两个错误?谢谢!