#include #include #include #include #include using namespace std; int comp (int i1, int i2) { return abs(i1) < abs(i2); } int main (){ priority_queue Q (0, 1000000, ptr_fun(comp)); return 0; } /* The error i get milk2.cpp: In function ‘int main()’: milk2.cpp:42: error: no matching function for call to ‘std::priority_queue >, std::less >::priority_queue(int, int, std::pointer_to_binary_function)’ /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_queue.h:365: note: candidates are: std::priority_queue<_Tp, _Sequence, _Compare>::priority_queue(const _Compare&, const _Sequence&) [with _Tp = int, _Sequence = std::vector >, _Compare = std::less] /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../include/c++/4.1.2/bits/stl_queue.h:338: note: std::priority_queue >, std::less >::priority_queue(const std::priority_queue >, std::less >&) */