簡體   English   中英

分配給結構的不兼容指針類型

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

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