gpt4 book ai didi

无法从 'void *' 转换为 'node *'

转载 作者:太空宇宙 更新时间:2023-11-03 23:50:57 24 4
gpt4 key购买 nike

我的代码在从“void *”转换为“NODE *”时遇到问题

谁能帮我解决这个问题?

NODE *list_create(void *data)
{
NODE *node;
if(!(node = malloc(sizeof(NODE)))) return NULL;
node->data=data;
node->next=NULL;
return node;
}

我在 = 符号下方发现了错误。任何帮助将不胜感激!

最佳答案

您没有指定错误,但从代码的外观来看,最有可能是类型转换错误,例如:

Cannot convert void* to NODE*

题目是用C标记的,这里写的代码也是有效的C,但是无效的C++。因此,如果出现错误,可以安全地假设使用了 C++ 编译器来编译代码。

要消除错误,要么使用 C 编译器;要么或者,如果您想坚持使用 C++ 编译器,请显式类型转换 malloc 的返回值。

if(!(node = (NODE*)malloc(sizeof(NODE)))) return NULL;

关于无法从 'void *' 转换为 'node *',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20020173/

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