Parameter zu verwenden, std::greater oder std::less als argument

Ich würde gerne eine Funktion mit einem parameter akzeptiert entweder std::greater<int> oder std::less<int> als argument. Ich bin fest an der syntax für den parameter, wenn.

Dies ist das format, das ich ausprobiert:

myFunction(int a, int b, bool *comp(int, int)) {  }

std::greater<int> bigger;
myFunction(2, 3, bigger);

Nicht Arbeit, obwohl, und ich vermute, dass der Dritte parameter ist einfach nur komplett falsch. Was soll es eigentlich werden?

konvertieren kann std::greater<int> zu bool* (*)(int, int)

  • pass std::greater<int>() statt
  • Danke. Ich aktualisiert meine Frage: in einer Instanz der größer ist anstelle der Klasse. Der Fehler ist der gleiche, ich wollte nur nicht, kopiere meinen code immer sorgfältig die erste Zeit. Mein schlechtes.
  • Durch die Art und Weise, Ihre parameter ist eine Funktion (Umgerechnet auf eine Funktion Zeiger auf Sicht in diesem Kontext), dass zwei ints und die Rückgabe einer bool *.
InformationsquelleAutor Qaz | 2014-03-28
Schreibe einen Kommentar