<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[FNpointer aus übergebener Klasse zuweisen]]></title><description><![CDATA[<p>Hallo,</p>
<p>meiner Funktion wird ein Objekt übergeben und aus diesem soll ein<br />
Member des Objektes an einen Funktionszeiger übergeben werden.</p>
<pre><code class="language-cpp">Class A {

    [...]

    int dataA;

    void foo();
}

class B {

   B(int, void*); 

   int dataRecivedfromA;

    void (A::*f)(void); // fnpointer
}

B::B(int data, void* classAincomming)
{
    dataRecivedfromA =  ((A*)classAincomming)-&gt;dataA;  // funktioniert supa
    f = ((A*)classAincomming)-&gt;foo; // error: argument of type 'void (A::)()' does not match 'void (A::*)()'

}
</code></pre>
<p>Was mache ich falsch?</p>
<p>Lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142004/fnpointer-aus-übergebener-klasse-zuweisen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 16:46:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142004.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Mar 2006 10:42:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to FNpointer aus übergebener Klasse zuweisen on Mon, 27 Mar 2006 10:42:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>meiner Funktion wird ein Objekt übergeben und aus diesem soll ein<br />
Member des Objektes an einen Funktionszeiger übergeben werden.</p>
<pre><code class="language-cpp">Class A {

    [...]

    int dataA;

    void foo();
}

class B {

   B(int, void*); 

   int dataRecivedfromA;

    void (A::*f)(void); // fnpointer
}

B::B(int data, void* classAincomming)
{
    dataRecivedfromA =  ((A*)classAincomming)-&gt;dataA;  // funktioniert supa
    f = ((A*)classAincomming)-&gt;foo; // error: argument of type 'void (A::)()' does not match 'void (A::*)()'

}
</code></pre>
<p>Was mache ich falsch?</p>
<p>Lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024668</guid><dc:creator><![CDATA[Binarys]]></dc:creator><pubDate>Mon, 27 Mar 2006 10:42:59 GMT</pubDate></item><item><title><![CDATA[Reply to FNpointer aus übergebener Klasse zuweisen on Mon, 27 Mar 2006 10:48:29 GMT]]></title><description><![CDATA[<p>Du mußt schon die Adresse der Funktion anfordern (dazu nimmst du den Adress-Operator &amp;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024671</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 27 Mar 2006 10:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to FNpointer aus übergebener Klasse zuweisen on Mon, 27 Mar 2006 11:46:22 GMT]]></title><description><![CDATA[<p>Bei:</p>
<pre><code class="language-cpp">f =  &amp;(((A*)classAincomming)-&gt;foo);
</code></pre>
<p>sagt mein Kompiler mir das: error: ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say '&amp;A::foo'</p>
<p>Was ist denn mit &quot;bound&quot;, gebundener Memberfunktion gemeint?</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1024708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1024708</guid><dc:creator><![CDATA[Binarys]]></dc:creator><pubDate>Mon, 27 Mar 2006 11:46:22 GMT</pubDate></item><item><title><![CDATA[Reply to FNpointer aus übergebener Klasse zuweisen on Tue, 28 Mar 2006 09:15:25 GMT]]></title><description><![CDATA[<p>Binarys schrieb:</p>
<blockquote>
<p>Bei:<br />
Was ist denn mit &quot;bound&quot;, gebundener Memberfunktion gemeint?</p>
</blockquote>
<p>Das die Memberfunktion bereits mit einem Objekt verbunden ist.<br />
Ungebunden: &amp;ClassName::MemFunName.<br />
Gebunden: object.memFunName</p>
<p>Der Ausdruck object.memFunName (bzw. object-&gt;memFunName) ist in Standard-C++ nur für ganz wenig zu gebrauchen. Genaugenommen kann man ihn lediglich zum Aufruf der gebundenen Memberfunktion benutzen. Man kann ihn aber nicht speichern (er besitzt keinen Typ) oder seine Adresse bilden.</p>
<p>Die Lösung hat dir Dein Compiler ja bereits mitgeteilt:</p>
<blockquote>
<p>Say '&amp;A::foo'</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1025335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1025335</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Tue, 28 Mar 2006 09:15:25 GMT</pubDate></item></channel></rss>