Memberfunction pointer aufrufen
-
Hallo,
ich versuche einen member-function pointer innerhalb einer member-function aufzurufen es gelingt mir jedoch nicht.
.h-File:
class CommandHandler { typedef int (CommandHandler::*FunctionPtr)(void); ... void handleFunction(FunctionPtr function_ptr); }.cpp-File
// Aufru void CommandHandler::func() { FunctionPtr ptr = &CommandHandler::handleCmdConnect; handleFunction(ptr); } void CommandHandler::handleFunction(FunctionPtr function_ptr) { int ret = this->*function_ptr(); }Fehlermeldung must use .* or ->* to call pointer-to-member function in `function_ptr (...)'
Kann mir jmd weiterhelfen? thx
mfg
-
1. Falsches Forum: C++ wäre korrekt, hier ist C++/CLI
2. Hier solltest Du die Lösung finden: http://www.parashift.com/c++-faq-lite/pointers-to-members.html
-
1. Sry für das posting im falschen forum
2. thx für den linkFür meinen Fall lautet die Lösung:
int ret = (this->*function_ptr)();Die Klammern ham gefehlt

-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ (auch C++0x) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.