c ++ stl priority_queue с пользовательским компаратором в качестве параметра функции

Я хочу использовать priority_queue и передать его функции:

// compare points according their distance to some target point
struct MyComparator {
Point target;
MyComparator(Point t) : target(t) {}

bool operator() (const Point& p1, const Point& p2) {
return distance(target, p1) < distance(target, p2);
}
};

typedef priority_queue<Point, vector<Point>, MyComparator> myque;
void myfunc(const Point& target, myque& que) { ... }

// call myfunc
Point target = ...;
myque queue(MyComparator(target));
myfunc(target, queue);
// error :
no matching function for call to ‘myfunc(const Point&, myque (&)(MyComparator))’

Как я могу устранить эту ошибку?

Благодарю.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]