gpt4 book ai didi

C++:malloc:错误:从 ‘void*’ 到 ‘uint8_t*’ 的无效转换

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:47 25 4
gpt4 key购买 nike

我遇到了这个问题:

invalid conversion from ‘void*’ to ‘uint8_t*’

执行此操作时:

int             numBytes;
uint8_t *buffer;

buffer=malloc(numBytes); //error here, why?

还是我必须这样说?

buffer=malloc(numBytes); 

请解释一下。

最佳答案

您不能在 C++ 中从 void * 隐式转换(在这方面与 C 不同)。你可以这样做:

buffer = static_cast<uint8_t *>(malloc(numBytes));

但实际上,您应该只使用 new/delete 而不是 malloc/free!

关于C++:malloc:错误:从 ‘void*’ 到 ‘uint8_t*’ 的无效转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010917/

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