gpt4 book ai didi

c++ - 无法将参数 1 从 'char *' 转换为 'uint8_t *'

转载 作者:太空宇宙 更新时间:2023-11-04 16:31:44 25 4
gpt4 key购买 nike

void OnReceived(std::shared_ptr<uint8_t> buffer, int len) {
.........
}

int main(){
std::vector<char> buffer(1000);
OnReceived((std::shared_ptr<uint8_t>)buffer.data(),rcvlen);
}

我正在尝试施放它,但我不知道为什么我不能!!!

Error   1   error C2664: 'std::tr1::_Ptr_base<_Ty>::_Reset0' : cannot convert parameter 1 from 'char *' to 'uint8_t *'  c:\program files\microsoft visual studio 10.0\vc\include\memory 1705

那我怎么转换呢?

最佳答案

你真的不想那样做。除了 char 和 uint8_t 可能是不同的类型这一事实之外,即使您强制编译代码,您的缓冲区也会被释放两次,这可能会使您的程序崩溃。只需更改 OnReceived 以接受原始指针。

关于c++ - 无法将参数 1 从 'char *' 转换为 'uint8_t *',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131721/

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