File D'Attente De Priorité De Comparaison

Je suis en train de déclarer une file d'attente de priorité en c++ en utilisant une fonction de comparaison personnalisée...

Donc , je déclare la file d'attente comme suit:

std::priority_queue<int,std::vector<int>, compare> pq;

et voici la fonction de comparaison :

bool compare(int a, int b)
{
   return (a<b);
}

Je suis assez sûr que je l'ai fait avant, sans classe,d'une manière similaire, mais maintenant, ce code ne compile pas et je reçois plusieurs erreurs de ce type :

type/value mismatch at argument 3 in template parameter list for 'template<class _Tp, class _Sequence, class _Compare> class std::priority_queue'

Est-il un moyen de créer une fonction de comparaison semblable à cela, mais sans l'aide d'une classe?

Grâce

Essayez &compare. Si cela ne fonctionne pas, vous pouvez également utiliser std::less<int>. Cela pourrait être le cas que le paramètre de modèle doit être le type de foncteur, pas un foncteur/valeur de la fonction.
Merci mais non, &comparer ne fonctionne pas.... La raison pour laquelle je demande, c'est parce que je veux trier les structures, bases sur un seul de leur valeur, de sorte que std::moins de ne pas vraiment travailler....

OriginalL'auteur user2455103 | 2013-12-29