vendredi 22 décembre 2017

getting error in using sort() function

please have a look at my code http://ift.tt/2paPdZL

#include <bits/stdc++.h>
using namespace std;
bool dec(const string &a,const string &b)
{
if(a.length()!=b.length())
return a.length()>b.length();
return a>b;
}
int main() {
int n,count=0;
unordered_map<string,vector<string> >hash;
cin>>n;
while(n--)
{
    string str;
    cin>>str;
    int a;
    cin>>a;
    if(hash.find(str)==hash.end())
    count++;
    while(a--)
    {
        string ns;
        cin>>ns;
        hash[str].push_back(ns);
    }
}
cout<<count<<endl;
unordered_map<string,vector<string> >::iterator it;
for(it=hash.begin();it!=hash.end();it++)
{
    cout<<it->first;
    vector<string>v;
    for(int i=0;i<(it->second).size();i++)
    {
        string temp=(it->second)[i];
        v.push_back(temp);
    }
    sort(v.begin(),v.end(),dec);
    bool vis[v.size()];
    memset(vis,false,sizeof(vis));
    for(int i=0;i<v.size();i++)
    {
        if(!vis[i])
        {
            for(int j=i+1;j<v.size();j++)
            {
                if(v[j]==v[i].substr(v[i].length()-
v[j].length(),v[j].length()))
                vis[j]=true;
            }
            cout<<" "<<v[i];
        }
    }
    cout<<endl;
}


return 0;
}

i am getting sort() function related compilation errors so it would be really great if someone could help. this is the error i am getting
error: no matching function for call to ‘sort(std::vector >::iterator, std::vector >::iterator, )’ Thanks in advance

Aucun commentaire:

Enregistrer un commentaire