Hallo
ich speichere Funktionspointer in einer std::map, um eine Funktion mit einem bestimmten Befehl zu verbinden. In dieser wollte ich sowohl normale Funktionen speichern, als auch Function Objects, also Klassen, die sich wie eine Funktion verhalten, indem sie den Funktionsoperator überladen.
Statt einer map von Funktionspointern hätte ich auch eine map von Klassen, die ein entsprechendes Interface implementieren nehmen können, jedoch wollte ich, dass man für komplexere Befehle Klassen und für einfache Befehle eine gewöhnliche Methode verwenden kann.
Der Compiler beschwert sich jedoch, dass das Objekt der Klasse XY nicht in einen Funktionspointer umgewandelt werden kann und mir ist aufgefallen, dass andere Funktionen, die auch Function Objects akzeptieren alle templates sind. Funktioniert mein Ansatz so nicht, oder gibt es da eine andere Möglichkeit?
Vielen Dank im voraus
mfg
ComputerAddict
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ComputerAddict« (22.11.2010, 21:00)