我有一个名为Recipes.h的结构和一个名为 vector<Recipes> recipes
的向量 . 向量在每个元素中包含1个int和2个字符串(字符串厨师名称和称为指令的字符串) . 但是我想通过字符串chef_name对整个向量进行排序 . 我尝试过做这样的事情
sort(recipes.begin(),recipes.end(),compare);
bool Menu::compare(const recipes* lhs, const recipes* rhs)
但它说食谱不是类型名称 . 我该如何分类这个载体?
1 回答
从您发布的非常短的代码片段中可以看出,您首先将
recipes
用作对象,然后再将其用作类型 . 您的比较函数可能需要作为参数Recipes > const&
. 请注意,如果操作不依赖于Menu
类,最好将此函数声明为static
成员函数 .功能签名应该是:
然后你会像这样使用它:
最后两个陈述都是一样的,我认为后者更明确的是
compare
.