为什么我的 C++ 函数“无法确定要使用哪个重载函数实例”?

问题描述

我正在启动一个 std::async 线程,如下所示;

cv::Point2f opDim = Point2f(1920,1080);
cv::Point2f ipDim = Point2f(1920,1080);
CameraToBEV cbevObj(roiBox1,opDim,ipDim);
    
std::vector<CameraToBEV> cbevVec;
for (int j = 0; j < jsonObjects.size(); j++)
        cbevVec.push_back(cbevObj);


// for multithreading
std::vector<std::future<cv::Mat>> processingThread;
std::vector<cv::Mat> opMatArr;
 
processingThread.emplace_back(std::async(std::launch::async,&CameraToBEV::process,&cbevVec[i],std::ref(jsonObjects[i]),roiBox1,ipDim));

我有以下重载的 process() 函数定义;

cv::Mat process(json&);
cv::Mat process(json&,std::vector<cv::Point2f>);
cv::Mat process(json&,std::vector<cv::Point2f>,cv::Point2f);
cv::Mat process(json&,cv::Point2f,cv::Point2f);

我显然有传递给 std::async函数定义。为什么我收到错误消息?

'无法确定重载函数的哪个实例是预期的'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)