gpt4 book ai didi

c++ - 无法转换为指针类型 : C error

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:08 24 4
gpt4 key购买 nike

我有一个函数需要调用

int (*trytoprint_f)(int val, void *param);

但是当我调用这个函数,并把

str name = {"jack", 4};
int age = 2;

client->trytoprint(age, (void *)name));

它给我一个错误“无法转换为指针类型:C 错误”

我知道基本上是使用下面的函数的解决方案str_dup_ptr(名称, ulr->imsi, mem);它有效(我从一个框架中获得了这个功能)。

无论如何,我只是感到困惑。所以问题是,如果函数接受 (void *param),并且我声明了类型为 str 的名称变量,那么当我将这个“名称”变量转换为 void 指针时,它会返回这个错误吗?

谁能帮我理解为什么会发生这个错误?

谢谢

最佳答案

您必须将指向结构的指针转换为 void* 而不是结构本身。试试这个方法

client->trytoprint(age, (void *) &name));

关于c++ - 无法转换为指针类型 : C error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7507117/

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