簡體   English   中英

osx上的malloc()類型轉換錯誤

[英]malloc() type casting error on osx

我是Mac上相當新的編程人員(osx:Sierra 10.12.6),所以這可能是一個非常愚蠢的問題。 我正在進行一些鏈表操作,除非一切都正常,除非有時當我幾天不重新啟動Mac時,會出現一些類型轉換錯誤。 雖然強制類型轉換可以消除錯誤,但是通常我不需要在使用C語言時強制類型轉換為malloc()。 即使是我之前編譯的沒有錯誤的程序,也會顯示一些錯誤,如下所示:

error: assigning to 'node *' (aka 'node_t *') from incompatible type 'void *' 
head = malloc(sizeof(head));
error: cannot initialize a variable of type 'node *' (aka 'node_t *') with an rvalue of type 'void *' 
node *current = malloc(sizeof(current));

重新啟動終端並完全關閉計算機,然后重新啟動后,可以擺脫此問題,並且這些程序可以再次編譯而不會出現錯誤。 如果有人可以幫助我解決此問題,我將不勝感激,因此即使我在幾周或更長時間內沒有重新啟動Mac,也不會收到這些錯誤。

您必須確保這樣撥打電話:

head = (node*) malloc(sizeof(node))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM