怎么编译错误呢?求大佬改正
#include<iostream>
#include<algorithm>
#include<cmath>
#include<string>
using namespace std;
struct map
{
string name;
int year,mon,day;
};
bool cmp(map x,map y)
{
if(x.year>y.year)
{
return x.year>y.year;
}
else if((x.year=y.year)&&(x.mon>y.mon))
{
return x.mon>y.mon;
}
else if((x.year=y.year)&&(x.mon=y.mon)&&(x.day>y.day))
{
return x.day>y.day;
}
}
int main()
{
struct map peo[100];
int n;
int i;
cin>>n;
for(i=0;i<n;i++);
{cin>>peo[i].name>>peo[i].year>>peo[i].day;}
sort(peo,peo+n-1,cmp);
for(int i=0;i<n;i++)
{cout<<peo[i].name<<endl;}
return 0;
}