作爲慣例,我試圖重寫realloc函數試圖改寫realloc函數在C
void updateSize(void* p,int length)
{
free(p);
malloc(sizeof(p) * length);
}
int main(int argc,char* argv[])
{
int *y =malloc(sizeof(int)*3);
y = updateSize(y, 5);
}
但是當我嘗試編譯它,我得到以下錯誤:
void value not ignored as it ought to be.
什麼是這個錯誤的原因,我該如何解決它?
錯誤信息的哪一部分不清楚? –
'updateSize'不返回任何東西(** void **),爲什麼要將它分配給'y'?錯誤消息非常豐富。 – Maroun
@KerrekSB在這一行:int * y = malloc(sizeof(int)* 3); – TheCrackNuts