ndk-build总是抱怨std::sort()有错误的参数,并且在相同的消息中找不到它。ndk是否使用其他函数?
候选人需要2个参数,其中3个提供了
sort(centroids.begin() + i * 10, centroids.begin() + (i + 1) * 10, pointXGreater);错误:没有调用‘排序’( __gnu_cxx::__normal_iterator*,std::vector > >,__gnu_cxx::__normal_iterator*,std::vector > >,removeConvexity(cv::Mat,cv::Mat,cv::Mat)::&)的匹配函数。
for (int i = 0; i < 10; i++)
{
sort(centroids.begin() + i * 10, centroids.begin() + (i + 1) * 10, pointXGreater);
}这就是函数调用。
vector<cv::Point> centroids;
centroids.reserve(100);
for (int i = 0; i < contours.size(); i++) {
vector<cv::Point> contour = contours.at(i);
Moments mom = moments(contour);
cv::Point center = cv::Point(int(mom.m10 / mom.m00), int(mom.m01 / mom.m00));
centroids.push_back(center);
}
std::reverse(centroids.begin(), centroids.end());
struct {
bool operator()(const cv::Point p1, const cv::Point p2) {
return p1.x < p2.x;
}
} pointXGreater;不知怎么的,我只能编译一次。现在问题又来了。
发布于 2015-07-08 18:56:01
static bool pointXGreater(const cv::Point p1, const cv::Point p2)
{
return p1.x < p2.x;
}
for (int i = 0; i < 10; i++)
{
sort(centroids.begin() + i * 10, centroids.begin() + (i + 1) * 10, pointXGreater);
}解决了问题。
https://stackoverflow.com/questions/31232222
复制相似问题