c++多线程编程:C2672

2022-07-28,

项目场景:

C++多线程编程,实现多目标跟踪 opencv3.4.3 + vs2015


问题描述:

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2672 “std::invoke”: 未找到匹配的重载函数 MOT d:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread 240 错误 C2893 未能使函数模板“unknown-type std::invoke(_Callable &&,_Types &&...)”专用化 MOT d:\program files (x86)\microsoft visual studio 14.0\vc\include\thr\xthread 240


原因分析:

此处错误原因是实参和形参的数据类型不同。 检测框初始化时,使用的cv::Rect, 而进行目标跟踪时,形参是cv::Rec2d. 参数不匹配,导致出现重载错误


解决方案:

将初始化后的跟踪框的类型更改为cv::Rect2d,统一参数格式 格式转换代码:

bboxes.push_back(cv::Rect2d(bboxes_[i].x, bboxes_[i].y, bboxes_[i].width, bboxes_[i].height));

本文地址:https://blog.csdn.net/u011428210/article/details/109616875

《c++多线程编程:C2672.doc》

下载本文的Word格式文档,以方便收藏与打印。