我正在为入门编程课程建立这个记录管理程序。部分代码是函数sortEmail
,它应该按字母顺序对向量recordList进行排序并调用sortAlphabet
函数。我在这一行上收到一个错误:sort(recordList.begin(), recordList.end(), compareAlphabet);
“未在此范围内声明排序。”我该如何解决这个问题?
#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");
}
答案 0 :(得分:1)
我想你忘了加入<algorithm>
添加#include <algorithm>
,看看它是否有效。