C++ "error: no matching function"
C++ "error: no matching function"
我看到了这个问题:
src/planning.cpp:892:95: error: no matching function for call to ‘std::vector<std::pair<pcl::PointXYZ, cv::Point_<float> > >::vector(int, std::pair<pcl::PointXYZ, int>)’
std::vector<std::pair<PointT,cv::Point2f> > _candidate_points(3,make_pair(PointT(0,0,0),0));
有人知道怎么解决吗?
您作为构造函数的第二个参数提供的值的类型与向量中存储的类型不匹配。容器中存储的类型是std::pair<pcl::PointXYZ, cv::Point_<float>
,你提供的值的类型是std::pair<pcl::PointXYZ, int>
.
您可能需要将最后一个 0
显式转换为 cv::Point_<float>
,因为隐式转换在模板参数中不起作用。例如,您不能将一对整数传递给需要一对双精度数的函数,即使您可以将单个整数传递给需要双精度数的函数。
我看到了这个问题:
src/planning.cpp:892:95: error: no matching function for call to ‘std::vector<std::pair<pcl::PointXYZ, cv::Point_<float> > >::vector(int, std::pair<pcl::PointXYZ, int>)’
std::vector<std::pair<PointT,cv::Point2f> > _candidate_points(3,make_pair(PointT(0,0,0),0));
有人知道怎么解决吗?
您作为构造函数的第二个参数提供的值的类型与向量中存储的类型不匹配。容器中存储的类型是std::pair<pcl::PointXYZ, cv::Point_<float>
,你提供的值的类型是std::pair<pcl::PointXYZ, int>
.
您可能需要将最后一个 0
显式转换为 cv::Point_<float>
,因为隐式转换在模板参数中不起作用。例如,您不能将一对整数传递给需要一对双精度数的函数,即使您可以将单个整数传递给需要双精度数的函数。