[英]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.