如何在 c++ 函数中返回空垫?

How to return an empty Mat in a function for c++?

本文关键字:返回 函数 c++      更新时间:2023-10-16

现在我有一个函数:

cv::Mat func(int number){
cv::Mat img;
...
if(number>=0)return img;
else if(number<0) return xxx;
}

在这里,当number<0我想返回一个空的垫子时,但return NULL;return;不正确。那么如何在函数中返回空垫呢?

任何人都可以给出一些建议吗?

好吧,根据空对你意味着什么,你可以: 返回默认构造cv::Mat

...
if(number>=0)return img;
else if(number<0) return cv::Mat{};
}

或创建与img具有相同sizetype的黑色(或任何其他颜色(cv::Mat

cv::Mat img;
...
if(number>=0)return img;
else if(number<0) return cv::Mat{img.size(), img.type(), cv::Scalar{0,0,0}};
}