🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Q: Adresse einer Methode

#308
From: Thomas Neumann
Date: Thu, 24 Aug 1995 22:56
22 lines
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!tom
References: <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