gpt4 book ai didi

c - 错误 : incompatible types when assigning to type 'values' from type 'void *' ?

转载 作者:太空狗 更新时间:2023-10-29 15:51:10 26 4
gpt4 key购买 nike

当我尝试为我的 int 结构分配一些内存时出现此错误。

typedef struct _values {
random ints;
} values;

我已经尝试了下面的行,但我的编译器不喜欢它。如何修复错误?

values v;
v = malloc(sizeof(values));

最佳答案

您忘记在 values 之后和 v 之前添加星号 (*) 以将其标记为指针:values *v;

按照您现在的设置方式,v(不带星号)被定义为堆栈变量,将在堆栈上分配并在函数结束后丢弃。它的类型只是valuesmalloc 用于在堆上分配内存并返回指向内存的指针。因为该函数无法知道它作为 void * 类型返回的类型 - 这给了你错误 - 你试图将 void * 类型分配给struct 类型,编译器不能这样做,编译器也不能找到可以解决问题的合法转换。

关于c - 错误 : incompatible types when assigning to type 'values' from type 'void *' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com