pointer auf member function
-
Hallo,
ich habe ein Problem welches mir bis jetzt keiner beantworten konnte.
Ich brauch aber eine Lösung
Ich brauche einen pointer auf member functions ...typsicher
also so in der arttypedef bool(MyClassBase::*MEMBERFUNC)(int i); [cpp]class MyClassBase{ public: void addFunctPointer(MEMBERFUNC mf); bool foo(int i); } [/cpp]... MyClassBase m; m.addFuncPointer(&MyClassBase::foo); ...fein tut aber class MyClass : public MyClassBase{ bool foo2(int i); } MyClass c; c.addFuncPointer(&MyClass::foo2); ...tut nicht mehr ok klar ist der typedef nicht mehr richtig andererseits ist die klasse abgeleitet ... also auch nicht wirklich falsch
Ich brauch da mal mal dringend hilfe ...und ja wir brauchen die funktion pointer
-
ok klar ist der typedef nicht mehr richtig
andererseits ist die klasse abgeleitet ... also auch nicht wirklich falschDoch, es _ist_ wirklich falsch. von foo2 weis die basisklasse doch garnichts, wieso sollte es dann einen funktionszeiger dafür annehmen können?
Mit methodenzeigern alleine ist das nicht mehr zu machen. da brauchst du einen funktor. Schau dir mal boost an, die haben da nen sehr schönen funktor(www.boost.org/doc/html/function.html), der dir das ermöglicht was du brauchst.