これは私のコードです:
int size;
int *p1;
scanf("%d",&size);
p1 =(int*)malloc(sizeof(int)*(size-1));
for (i=0;i<size;i++)
scanf("%d",&p1[i]);
free(p1);
プログラムは、最後の行 (無料関数) まで完全に実行されます。それに到達すると、「HEAP CORRUPTION DETECTED」のような大きなエラーウィンドウが表示されます。
フリー関数は void ポインターを取得する必要があることは知っていますが、私のものは int です。どうすれば解放できますか?
ありがとう!