繁体   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