gpt4 book ai didi

c++ - 错误 : invalid initialization of non-const reference of type 'cv::Mat&'

转载 作者:太空狗 更新时间:2023-10-29 21:01:24 25 4
gpt4 key购买 nike

下面是我的函数原型(prototype)。

void devectorize(Mat &vec,Mat mask,Mat& img);

当我尝试在我的代码中调用此函数时出现以下错误。会是什么原因呢?

Mat V;

for(int i=0;i<V.cols;i++)
{
devectorize(V.col(i),mask,E_img); //Error in this line
}
error: invalid initialization of non-const reference of type 'cv::Mat&' from an rvalue of type 'cv::Mat'
utils.h:11:6: error: in passing argument 1 of 'void devectorize(cv::Mat&, cv::Mat, cv::Mat&)'

最佳答案

您不能将非常量引用绑定(bind)到临时引用。在您的情况下, devectorize 的第一个参数是非常量引用, V.col(i) 的返回值是临时的。这段代码可以工作

for (int i = 0; i < V.cols; i++)
{
Mat tmp = V.col(i);
devectorize(tmp, mask, E_img);
}

将 devectorize 的第一个参数更改为 const Mat&

关于c++ - 错误 : invalid initialization of non-const reference of type 'cv::Mat&' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18548495/

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