I looked at http://www.cplusplus.com/reference/algorithm/sort/ and wanted to implement something similar: I defined a clauseComparator function, which is similar to myfunc in the example in the link above.
bool QueryEvaluatorPrivate::clauseComparator(QueryClause cl1, QueryClause cl2) { int priority1 = clausePriority(cl1), priority2 = clausePriority(cl2); return priority1 < priority2; }
and I used it like:
sort(clauses.begin(), clauses.end(), clauseComparator);
But VS complains:
Error 4 error C3867: 'QueryEvaluatorPrivate::clauseComparator': function call missing argument list; use '&QueryEvaluatorPrivate::clauseComparator' to create a pointer to member h:\dropbox\sch\cs3202\code\source\query\query evaluator\queryevaluator.cpp 138 Error 5 error C2780: 'void std::sort(_RanIt,_RanIt)' : expects 2 arguments - 3 provided h:\dropbox\sch\cs3202\code\source\query\query evaluator\queryevaluator.cpp 138
First, what's wrong (list of missing teams)? I tried to execute the sentence indicated in the error, add & and as a result
Error 4 error C2276: '&' : illegal operation on bound member function expression h:\dropbox\sch\cs3202\code\source\query\query evaluator\queryevaluator.cpp 138 Error 5 error C2780: 'void std::sort(_RanIt,_RanIt)' : expects 2 arguments - 3 provided h:\dropbox\sch\cs3202\code\source\query\query evaluator\queryevaluator.cpp 138
What is wrong here? In my opinion, it should pass a pointer to a function, which, as I understand it, should also be accepted sort ?
source share