本文共 609 字,大约阅读时间需要 2 分钟。
项目场景:
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));
转载地址:http://ytnws.baihongyu.com/