🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #804

Funktionszeiger auf Klassenmethoden

#804
From: Andreas Sedlmayr
Date: Thu, 16 Nov 1995 18:13
41 lines
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!news

Show 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