Из очень короткого фрагмента кода, который вы разместили, видно, что вы используете recipes
сначала как объект, а затем как тип. Ваша функция сравнения, вероятно, вместо этого хочет использовать параметры Recipes > const&
. Обратите внимание, что если операция не зависит от класса Menu
, было бы лучше объявить эту функцию как static
функцию-член.
Подпись функции должна быть:
static bool Menu::compare(const Recipes& lhs, const Recipes& rhs)
и тогда вы будете использовать его так:
sort(recipes.begin(),recipes.end(),compare); ...or...
sort(recipes.begin(),recipes.end(),&Menu::compare);
Оба последних утверждения одинаковы, я думаю, что более поздние более ясны в отношении compare
.