我是您的有益助手,以下是您需要翻译的内容:
我有一个函数,其签名如下所示,我无法更改:
bool function(uint8_t*& data, uint32_t size)
我想传递一个std向量,我可以这样做:
std::vector<uint8_t> buffer;
buffer.reserve(10);
buffer.resize(10);
uint8_t* data = &buffer[0];
function(data, buffer.size()))
有没有办法避免创建data
指针?以下代码无法编译:
function(&buffer[0], buffer.size()))
会报“无匹配函数”错误。
&data[0]
指向其他地方。 - juanchopanzauint8_t* pass = &buffer[0];
,然后function(pass, buffer.size()))
。 - user9335240