Article View: de.comp.lang.c++
Article #308Re: Q: Adresse einer Methode
From: Thomas Neumann
Date: Thu, 24 Aug 1995 22:56
Date: Thu, 24 Aug 1995 22:56
22 lines
1480 bytes
1480 bytes
>>>>> "C" == Christian Horn <chorn@cip48.cscip.uni-sb.de> writes:
C> Das Problem ist, dass ich zwar die Adresse von f2 erhalte
C> (&A::f2), diese aber nicht nach void far* casten kann, um sie
C> dann FP_SEG bzw. FP_OFF als Argument uebergeben zu koennen.
Ich kenne mich zwar mit dem DOS Segment-Krempel nicht aus, kann mir
aber vorstellen, worauf Du hinauswillst. Was Du vorhast, erfordert,
dass ein Memberfunction-Pointer in einen void* konvertierbar waere.
Das ist nicht der Fall, genauso wie man schon in ANSI-C nichtmal einen
normalen Funktionspointer einem void* zuweisen kann. Bei
Memberfunction-Pointern ist es noch wahrscheinlicher, dass es nicht
funktioniert, da ein MFP noch nichtmal unbedingt intern eine skalare
Repraesentation haben muss, er kann z.B. als Struktur aus einem
Pointer auf den vtbl der Klasse und einem Offset in diesen verwaltet
werden, wenn es sich um eine virtuelle Memberfunction handelt.
-t
--
PGP public key available, see <URL:http://www.ruhr.de/home/smart/start.html>
Technical Details
Message-ID:
<87n3cyap22.fsf@smart.ruhr.de>Path:
arc1-ca.pugleaf.net!smart.ruhr.de!tomReferences:
<41ibde$pnu@hades.rz.uni-sb.de>Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++ Path: arc1-ca.pugleaf.net!smart.ruhr.de!tom From: tom@smart.ruhr.de (Thomas Neumann) Subject: Re: Q: Adresse einer Methode X-Newsreader: (ding) Gnus v0.99.19 Sender: tom@smart.ruhr.de Organization: News at smart Message-ID: <87n3cyap22.fsf@smart.ruhr.de> References: <41ibde$pnu@hades.rz.uni-sb.de> In-Reply-To: chorn@cip48.cscip.uni-sb.de's message of 24 Aug 1995 17:03:42 GMT Date: Thu, 24 Aug 1995 22:56:37 GMT