我完全被难住了,四处查看示例并没有帮助我使这种排序功能起作用:
void sortRegistryByName(std::list<Transcript>& registry) {
std::sort(registry.begin(), registry.end(), [](const Transcript &f, const Transcript &s) { return f.name < s.name; });
}
上面的代码应该按名称属性对 Transcripts 列表进行排序。
成绩单如下:
typedef struct Transcript_t {
std::string name; // Name of the transcript
std::string student_id;
std::list<std::pair<std::string, size_t>> grades; // List of (course, grade) pairs
} Transcript;
当我尝试编译它时,排序函数会导致一大堆与 safe_iterators 和操作符相关的错误。
有人在这里看到任何非常愚蠢的错误吗?我对此视而不见。