-2
typedef struct {
int s;
...
char* temp_status;
...
} param;
pararm MQK;
MQK.temp_status = (char*) malloc(sizeof(char)*14);
...
free(&(MQK.temp_status)); <<< ERROR
錯誤報告如何釋放堆棧分配struct的malloc'd屬性?
gcc ...
csim.c: In function ‘main’:
csim.c:348:9: error: attempt to free a non-heap object ‘MQK’ [- Werror=free-nonheap-object]
free(&(MQK.temp_status));
^
cc1: all warnings being treated as errors
我應該如何釋放呢?我必須free()
a malloc()
d屬性的堆棧分配結構。
釋放指針,而不是它的地址。即,刪除'&'。你想釋放相同的指針返回我的'malloc',而不是包含該指針的變量的地址。 –
是您的大寫鎖定鍵損壞? – Jeff