This:
system sorting;
should be this:
tauSort sorting;
because you want to pass the sorting functor, not a system
object. And you are forgetting a semicolon at the end of the sort
statement too.
You can also simply do:
sort(rq.begin(), rq.end(), tauSort());
Not to mention that you can pass the system
s by constant reference in your function, since you don't need to modify them. And it's better for you to make the operator()
const as well:
bool operator ()(system const& a, system const& b) const { … }