I'm seeing this problem:
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));
Anyone know how to fix it?
The type of the value you provided as the second argument to the constructor doesn't match the type that is stored in the vector. The type stored in the container is std::pair<pcl::PointXYZ, cv::Point_<float>
, and the type of the value you provided is std::pair<pcl::PointXYZ, int>
.
You probably need to explicitly convert the last 0
to a cv::Point_<float>
since implicit conversions don't work inside template arguments. For example, you can't pass a pair of ints to a function expecting a pair of doubles, even though you can pass a single int to a function expecting a double.