在我的C++代码中,我必须使用参数为vector<uint8_t>.的外部库函数
但是在我的源代码中,我将变量保存为向量,那么当变量传递到函数时,我如何进行从vector<byte>到vector<unint8_t>的转换。
我的资料来源如下。
//来自header的外部库函数:
uint16_t GetLinkCRC16(const vector<uint8_t> &buffer);
vector<byte> m_Seq;//在我的cpp中调用:
vector<byte> writeBytes(m_Seq);
GetLinkCRC16(writeBytes);当我将"writeBytes“传递给"GetLinkCRC16”方法时,我有类型转换错误。
发布于 2019-11-19 17:36:13
不幸的是,“没有办法”在不复制(和类型转换)的情况下使向量具有不同的类型。
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。
https://stackoverflow.com/questions/57359071
复制相似问题