2017-05-30 5 views
-1

error: ‘sortAgain’ declared as function returning a functionutilisation non valide de membre de données non statique à l'aide des indices de vecteur

bool sortAgain() (int e1, int e2) {

error: ‘sortAgain’ was not declared in this scope

sort(searchedFor.begin(), searchedFor.end(), sortAgain);

Je suis absolument aucune idée quant à la cause de ces erreurs est définie la fonction sortAgain juste au-dessus de la fonction de la commande de tri est appelé, et je aucune idée de ce que la première erreur signifie même ... Et des conseils?

recherchéFor est un vecteur contenant des valeurs entières représentant des indices d'objets dans un autre vecteur. J'essaie de trier ces indices mais d'obtenir ces deux erreurs. Les deux fonctions sont dans une structure et la fonction sortAgain est au dessus de l'autre.

//SORT BY TIME STAMP 
bool sortAgain() (int e1, int e2) { 
    if(allEntries[e1].timeStamp != allEntries[e2].timeStamp){ 
     return (allEntries[e1].timeStamp < allEntries[e2].timeStamp); 
    }else if(allEntries[e1].categoryLower != allEntries[e2].categoryLower){ 
     return (allEntries[e1].categoryLower < allEntries[e2].categoryLower); 
    }else{ 
     return (allEntries[e1].entryID > allEntries[e2].entryID); 
    } 
} 
+0

Le fait de nous montrer des erreurs de compilation sans le code correspondant qui a produit les erreurs est inutile. S'il vous plaît poster un [exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve) – CoryKramer

+1

vous avez trop de parenthèses sur la première ligne –

Répondre

1
bool sortAgain() (int e1, int e2) 

devrait être

bool sortAgain(int e1, int e2) 

BTW je ne comprends pas vraiment ce que cette fonction fait, mais il n'a certainement rien trier. Je suggère fortement de lui donner un meilleur nom.

+0

c'était un comparateur utilisé pour le tri mais oui, la fonction n'est pas t trier tout –