[英]Incompatible pointer types assigning to struct
我只是想制作某種指向“Nall”結構的指針,所以我寫了這段代碼
Nall **headall;
headall = malloc (30000 * sizeof (Nall));
for (i = 0; i < 30000; i++) {
*(headall+i) = newNall;
}
現在我收到這個錯誤
“警告:從
Nall *(void)
(又名struct nodeall *(void)
)[-Wincompatible-pointer-types]*(headall+i) = newNall;
分配給Nall *
(又名struct nodeall *
)的不兼容指針類型*(headall+i) = newNall;
“
從編譯器警告中,我假設newNall
實際上是一個分配新struct nodeall
並返回指向它的指針的函數。 在這種情況下,您的代碼應如下所示:
Nall **headall;
headall = malloc(30000 * sizeof *headall);
for (i = 0; i < 30000; i++)
headall[i] = newNall();
請注意sizeof
運算符的參數以及newNall
之后的括號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.