我有一个正在准备的入门编程类(class)的记录管理程序。该代码的一部分是sortEmail函数,该函数应该按字母顺序对 vector recordList进行排序并调用sortAlphabet函数。我在这条线上出现错误:sort(recordList.begin(), recordList.end(), compareAlphabet);“未在此范围内声明sort”。我怎样才能解决这个问题?

#include<iostream>
#include<vector>
#include<string>
using namespace std;
struct Record
{
    string name;
    string email;
};

bool compareAlphabet(const Record& a, const Record& b)
{
    return a.name < b.name;
}

sortEmail(vector<Record>& recordList)
{
    system("cls");
    sort(recordList.begin(), recordList.end(), compareAlphabet);
    cout<<"Name have been sorted alphabetically"<<endl;
    for (int i=0; i!=recordList.size(); i++)
    {
        cout<<recordList[i].name<<endl;
        cout<<recordList[i].email<<endl;
    }
    system("PAUSE");
    system("cls");
}

最佳答案

我认为您忘记了添加<algorithm>添加#include <algorithm>,看看它是否有效。

10-08 18:39