Tag: pointer-to-member

dieses tag wird normalerweise verwendet, mit Fragen über das erstellen eines Zeigers auf eine nicht-statische member-Funktion einer Klasse in der Programmiersprache C++. Für standard-Funktionszeigern in C und C++ mit dem tag ` – Funktion-Zeiger “ statt. Für Fragen zu functor-Objekte in C++ verwenden, die `Funktor` tag.

Wie man die Adresse einer überladenen Funktion Mitglied?

Anzahl der Antworten 1 Antworten
Ich versuche einen Zeiger auf eine bestimmte version einer überlastet member-Funktion. Hier ist das Beispiel: class C { bool f(int) { ... } bool f(double) { ... } bool example() { //I want to get the "double"

Dynamisch erstellen Sie eine Funktion Zeiger, ruft eine Methode auf einer bestimmten Instanz

Anzahl der Antworten 6 Antworten
Ich vermute, dass dies unmöglich ist, aber dachte, ich würde bitten. Sagen wir ich habe eine Klasse mit einer Methode: class A { public: void b(int c); }; Kann ich einen Zeiger auf member-Funktion: void (A::*ptr)(int) =

Zeiger auf Klasse als template-parameter

Anzahl der Antworten 4 Antworten
Möchte ich einen Zeiger auf eine Klasse als template-parameter ein, wie in: template <class Class, class Result, Result Class::*Member> struct MyStruct { //... }; Verwendung dieser Struktur wie MyStruct<SomeClass, SomeResult, &SomeClass::value> variable funktioniert Prima, aber ich mag

So drucken Funktion Mitglied Adresse in C++

Anzahl der Antworten 4 Antworten
Sieht es aus wie std::cout kann nicht drucken, Mitglied, Funktion, Anschrift, zum Beispiel: #include <iostream> using std::cout; using std::endl; class TestClass { void MyFunc(void); public: void PrintMyFuncAddress(void); }; void TestClass::MyFunc(void) { return; } void TestClass::PrintMyFuncAddress(void) { printf("%p\n",

Mit Hilfe einer member-Funktion-Zeiger innerhalb einer Klasse

Anzahl der Antworten 5 Antworten
Gegeben, ein Beispiel der Klasse: class Fred { public: Fred() { func = &Fred::fa; } void run() { int foo, bar; *func(foo,bar); } double fa(int x, int y); double fb(int x, int y); private: double (Fred::*func)(int x,

Wie kann ich pass eine member-Funktion, in dem eine freie Funktion erwartet wird?

Anzahl der Antworten 7 Antworten
Die Frage ist die folgende: betrachten Sie diese Stück code: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int,

Casting zwischen void * und einen Zeiger auf member-Funktion

Anzahl der Antworten 5 Antworten
Ich bin derzeit mit GCC 4.4, und ich bin mir ziemlich Kopfschmerzen casting zwischen void* und einen Zeiger auf member-Funktion. Ich bin versucht zu schreiben, eine einfach zu bedienende Bibliothek für das binden von C++ - Objekten

Wie kann ich eine Mitgliedsfunktion übergeben, bei der eine freie Funktion erwartet wird?

Anzahl der Antworten 5 Antworten
Die Frage ist die folgende: betrachten Sie diese Stück code: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int,

Was sind die Pointer-zu-Member - & gt; * und. * Operatoren in C ++?

Anzahl der Antworten 6 Antworten
Ja, ich habe gesehen, diese Frage und diese FAQ (falscher link) diese FAQaber ich noch nicht verstehen, was ->* und .* bedeuten in C++. Diese Seiten bieten Informationen über den Operatoren (wie überlastung), aber offenbar nicht gut

Fehler bei der Adresse der eingeklammerten Elementfunktion

Anzahl der Antworten 2 Antworten
Fand ich etwas Interessantes. Die Fehlermeldung sagt alles. Was ist der Grund hinter, der nicht erlaubt Klammern während der Einnahme der Adresse eines nicht-statische member-Funktion? Ich habe es kompiliert on-gcc 4.3.4. #include <iostream> class myfoo{ public: int