Why am i getting this error when i am trying to sort the strings in descending order lexicographically using comparators?

#include
#include
#include

using namespace std;

bool compare(int a , int b){
return a>b;}
int main() {
string s[4];

getline(cin,s[0]);
getline(cin,s[1]);
getline(cin,s[2]);
getline(cin,s[3]);

sort(s,s+4,compare);
for(int i=0 ; i<4 ; i++)
cout<<s[i];

return 0;

}

@amangupta You cannot just compaare and check which is greater. Like if you check 990 > 9 so you will merge 9909 but if you would have merged 9990 it would have been greater.
So in comparator check a+b > b+a instead.