Callback funktion
-
Das sind c++ dateien, die einzige pfring.h Header ist in c aber das sollte kein Problem sein!?
-
Freaky123 schrieb:
Das sind c++ dateien, die einzige pfring.h Header ist in c aber das sollte kein Problem sein!?
Sicher kannst du es zum laufen bringen, ist aber allgemein keine so gute Idee C und C++ zu mischen.
-
Hast du vlt ne Idee wieso ich den Compiler Fehler krieg soweit ichs versteh stimmen die Definition in der pfring.h mit der in Test.c nicht ueberein odr?
-
Freaky123 schrieb:
Hast du vlt ne Idee wieso ich den Compiler Fehler krieg soweit ichs versteh stimmen die Definition in der pfring.h mit der in Test.c nicht ueberein odr?
Ein Zeiger auf eine Funktion ist etwas ganz was anderes, als eine Zeiger auf eine Memberfunktion. Oder anders gesagt: Beantworte doch mal die Frage, auf welcher Instanz von Test dein Zeiger aufgerufen werden soll.
-
Wie koennte man den den Aufruf den auf die Memberfunktion anpassen?
-
Hier Beispiele zur Veranschaulichung, was gemeint ist:
#include <iostream> using namespace std; class foo { public: void test() const {cout << "test" << endl;} static void test_static() {cout << "test static" << endl;} }; typedef void (foo::*bar)() const; typedef void (*bar_static)(); int main() { bar foobar = &foo::test; (foo().*foobar)(); bar_static foobar_static = &foo::test_static; foobar_static(); return 0; }
-
Sorry da komm ich aber jetzt nicht ganz mit, muesste ich bei mir also den Aufruf auf die callback funktion anders machen?
-
Freaky123 schrieb:
Sorry da komm ich aber jetzt nicht ganz mit, muesste ich bei mir also den Aufruf auf die callback funktion anders machen?
Wie gesagt:
klassenlehrer schrieb:
@Ersteller: mach die Methode Test::inc static
-
Hat funktioniert
vielen Dank an alle fuer die Hilfe
-
Freaky123 schrieb:
Hat funktioniert
vielen Dank an alle fuer die HilfeIrgendwie bin ich mir nicht sicher, ob dir damit wirklich geholfen wurde. entweder hast du nämlich nicht verstanden was durch das static nun anders ist oder du hättest die Methode gar nicht erst als Klassenmember machen sollen.