Article View: de.comp.lang.c++
Article #804Funktionszeiger auf Klassenmethoden
From: Andreas Sedlmayr
Date: Thu, 16 Nov 1995 18:13
Date: Thu, 16 Nov 1995 18:13
41 lines
1806 bytes
1806 bytes
Hallo C++ Freaks!
Ich habe folgendes Problem. Eine Klasse "CCalculate" enthält mehrere
gleich aufgebaute Funktionen des Formats:
long double (CCalculate::*fnftldOperation) (long double);
Ich möchte den Funktionszeiger "fnftldOperation" die entsprechende
mathematische Funktion (innerhalb d. Klasse) zuweisen,
fnftldOperation=Methodenname
so daß ich z.B. in einer Schleife mehrere Funktionsaufrufe über den
Funktionszeiger durchführen kann.
Mein versuchter Funktionsaufruf sieht wie folgt aus:
long double ftErg = fnftldOperation(ftZahl);
bzw: long double ftErg = *(fnftldOperation)(ftZahl);
Der Compiler (Visual C++) mekert aber: error C2064: term does not
evaluate to a function
Meine Frage:
Geht das prinzipiell nicht, oder mache ich syntaktisch etwas falsch?
falls das geht, noch einen Schritt weiter:
Läßt sich ein solcher Methodenzeiger einer Windows-Funktion übergeben
(möglicherweise gecastet):
FARPROC MakeProcInstance(lpProc, hinst)
FARPROC lpProc; /* address of function */
HINSTANCE hinst; /* instance to bind to function */
lpProc sei ein Methodenzeiger
Vielen Dank für alle Beiträge zu diesem Thema
Ciao, Andi
andreas sedlmayr - munich - germany
EMail: Sedl@lrz.fh-muenchen.de
(or 01949888@fhmrz4.rz.fh-muenchen.de)
Technical Details
Message-ID:
<48fv1i$paf@sparcserver.lrz-muenchen.de>Path:
arc1-ca.pugleaf.net!lrz-muenchen.de!newsShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!lrz-muenchen.de!news From: Sedl@lrz.fh-muenchen.de (Andreas Sedlmayr) Newsgroups: de.comp.lang.c++ Subject: Funktionszeiger auf Klassenmethoden Date: Thu, 16 Nov 1995 18:13:37 GMT Organization: Leibniz-Rechenzentrum, Muenchen (Germany) Distribution: world Message-ID: <48fv1i$paf@sparcserver.lrz-muenchen.de> NNTP-Posting-Host: line60.ppp.lrz-muenchen.de X-Newsreader: Forte Free Agent 1.0.82