首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c++中将vector<byte>转换为vector<uint_8>?

如何在c++中将vector<byte>转换为vector<uint_8>?
EN

Stack Overflow用户
提问于 2019-08-05 20:56:52
回答 1查看 353关注 0票数 1

在我的C++代码中,我必须使用参数为vector<uint8_t>.的外部库函数

但是在我的源代码中,我将变量保存为向量,那么当变量传递到函数时,我如何进行从vector<byte>vector<unint8_t>的转换。

我的资料来源如下。

//来自header的外部库函数:

代码语言:javascript
复制
uint16_t  GetLinkCRC16(const vector<uint8_t> &buffer);


vector<byte> m_Seq;

//在我的cpp中调用:

代码语言:javascript
复制
vector<byte> writeBytes(m_Seq);
GetLinkCRC16(writeBytes);

当我将"writeBytes“传递给"GetLinkCRC16”方法时,我有类型转换错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-19 17:36:13

不幸的是,“没有办法”在不复制(和类型转换)的情况下使向量具有不同的类型。

代码语言:javascript
复制
std::vector<byte> writeBytes(m_Seq);

std::vector<uint8_t> writeBytesClone(writeBytes.begin(), writeBytes.end());
GetLinkCRC16(writeBytesClone);

我说“不可能”是什么意思。有一种方法,但它是一个platform-dependent and, probably, UB way to wrap an array in a vector

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57359071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档