C++ 没有合适的构造函数可从“转换”;uint8“t*”;至;标准::向量<;uint8_t,std::分配器<;uint8_t>&燃气轮机&引用; 不存在合适的构造函数将“uint8\u t*”转换为“std::vector”

C++ 没有合适的构造函数可从“转换”;uint8“t*”;至;标准::向量<;uint8_t,std::分配器<;uint8_t>&燃气轮机&引用; 不存在合适的构造函数将“uint8\u t*”转换为“std::vector”,c++,C++,演员们都不工作了 编辑: const std::vector Test(const std::vector buffer)const; uint8_t*buffer=“…”; //所以我可以使用Test()函数 试验(缓冲); 错误 没有合适的构造函数将“uint8\u t*”转换为“std::vector” 不能将数组转换为std::vector,需要显式构造一个数组。 一种方法是使用向量的range构造函数,如下所示: const std::vector<uint8_t> Tes

演员们都不工作了

编辑:

const std::vector Test(const std::vector buffer)const;
uint8_t*buffer=“…”;
//所以我可以使用Test()函数
试验(缓冲);
错误
没有合适的构造函数将“uint8\u t*”转换为“std::vector”

不能将
数组
转换为
std::vector
,需要显式构造一个数组。 一种方法是使用
向量的range构造函数,如下所示:

const std::vector<uint8_t> Test (const std::vector<uint8_t> buffer) const;

uint8_t* buffer="...";

//so i can use Test() function
Test(buffer);

Error
no suitable constructor exists to convert from "uint8_t *" to "std::vector<uint8_t, std::allocator<uint8_t>>"

你需要澄清一点,也许用一些代码,你想做什么。这只是告诉我你有一个
uint8\u t
指针,你正在将它转换为一个STL
vector
。向量类型如何知道你给出的整数序列的长度?你现在应该真正知道如何问一个真正的问题…>:-(@Shtаf-Edit;@Konrad Rudolph-别疯了xD,我只是想我的问题以前可能遇到过某个人,所以我没有发布代码!\ux!我编辑了它
const std::vector<uint8_t> Test (const std::vector<uint8_t> buffer) const;

uint8_t* buffer="...";

//so i can use Test() function
Test(buffer);

Error
no suitable constructor exists to convert from "uint8_t *" to "std::vector<uint8_t, std::allocator<uint8_t>>"
uint8_t* buffer="...";
// +1 for the terminating \0
std::vector<uint8_t> vector( buffer, buffer + strlen( buffer ) + 1 ); 
Test( vector );
uint8_t[] buffer="...";
std::vector<uint8_t> vector( buffer, buffer + sizeof( buffer ) ); 
Test( vector );