gpt4 book ai didi

c++ - 初始化通过引用传递的 vector

转载 作者:搜寻专家 更新时间:2023-10-31 00:54:06 25 4
gpt4 key购买 nike

我有一个类 Pixel 和一个类 Image,它们具有用于更新像素线的功能。我想初始化像素线。我的问题是初始化 vector 。其实我有这个:

bool UpdateLine(std::vector<Pixel>& line, int nb)
{
bool noError = true;
line = new std::vector<Pixel>(nb);
// Do some stuff
return noError;
}

当我尝试这个时,我有:

no viable overloaded '='

如何初始化 vector ?

最佳答案

您正在使用的表达式:

new std::vector<Pixel>(nb)

返回指向 std::vector<Pixel> 的指针(即:std::vector<Pixel> *),而不是 std::vector<Pixel> ,这就是您所需要的。


必须区分初始化赋值:您正在赋值line而不是初始化它。

您可以创建一个新 vector 并将其分配line通过赋值运算符:

line = std::vector<Pixel>(nb);

关于c++ - 初始化通过引用传递的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46423064/

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