Ich finds nicht mehr... Funktion als Parameter an eine andere und () Operator.
-
Uff... Mir fällt gerade nicht ein nachw as ich egsucht hatte.
Und zwar geht es um eine Methode, die die Adresse einer Funktion als PArameter bekommt.
Diese Version lässt ja keine () mit PArametern zu. Sondern nur &Funktion.
In mehreren Threads stand hier eine Lösung wie man dann irgendwie ne Klasse bstelt, den () Operator definiert und so eben das Ganze möglich macht.Ich will es im Zusammenhang mit Synchronize(&Funktion) verwenden, damit ich dann Synchronize(&Funktion(p1,p2,p3)); machen kann.
Ich such mir hier grade einen Wolf. Ich hatte das im Zusammenhang mit irgend einer Methode aus einer Library gefunden...
-
HA!!!! Ich habs!!!! Das war im Zusammenhang mit Sort und dem Predicate bei Vektoren.
-
Auch wenn dein Beitrag etwas verwirrt ist - Funktionszeiger können nur auf echte Funktionen zeigen (deren Parameterliste passt), nicht auf Funktoren (Objekte mit überladenem op()). Wenn du letztere verwenden willst, mußt du deine Funktion überladen oder mit Templates arbeiten:
template<typename func> void Synchronize(func f) { ... f(p1,p2,p3); /* das schluckt alles, was als dreistellige Funktion verwendet werden kann, solange die Argumente passend umgewandelt werden können. */ }