<?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[adresse einer nicht statischen memberfunktion]]></title><description><![CDATA[<p>hola leute</p>
<p>wie kommt man an die adresse einer nicht statischen memberfunktion?<br />
geht das ueberhaupt ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178971/adresse-einer-nicht-statischen-memberfunktion</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 01:45:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178971.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Apr 2007 09:20:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 09:20:46 GMT]]></title><description><![CDATA[<p>hola leute</p>
<p>wie kommt man an die adresse einer nicht statischen memberfunktion?<br />
geht das ueberhaupt ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267578</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Tue, 17 Apr 2007 09:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 09:27:03 GMT]]></title><description><![CDATA[<p>Ja, das geht - über Methodenzeiger:</p>
<pre><code class="language-cpp">class test
{
  void do_something(int);
};

...
void (test::function*)(int) = &amp;test::do_something();
test tester;
tester.function(4711);
</code></pre>
<p>(achtung: ungetestet)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267583</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Apr 2007 09:27:03 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 09:43:32 GMT]]></title><description><![CDATA[<p>Mal schnell korrigieren:</p>
<blockquote>
<p>void (test::function*)(int) = &amp;test::do_something();</p>
</blockquote>
<p>Klammern zuviel, Stern auf der falschen Seite:</p>
<pre><code class="language-cpp">void (test::*function)(int) = &amp;test::do_something;
</code></pre>
<blockquote>
<p>tester.function(4711);</p>
</blockquote>
<p>Fehlende Derefernzierung und Klammerung:</p>
<pre><code class="language-cpp">(tester.*function)(4711);
</code></pre>
<p>Wenn man jetzt do_something noch public macht, sollte das Beispiel funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267597</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Tue, 17 Apr 2007 09:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 09:47:52 GMT]]></title><description><![CDATA[<p>hola CStoll</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>Ja, das geht - über Methodenzeiger:</p>
<pre><code class="language-cpp">class test
{
  void do_something(int);
};

...
void (test::function*)(int) = &amp;test::do_something();
test tester;
tester.function(4711);
</code></pre>
<p>(achtung: ungetestet)</p>
</blockquote>
<pre><code>(test::function*)
</code></pre>
<p>kann doch schon mal gar net stimmen weil function kein member der class test ist.<br />
und wie kommst du auf</p>
<pre><code>tester.function(4711);
</code></pre>
<p>?</p>
<p>hab folgendes beispiel gemacht:</p>
<pre><code class="language-cpp">class TestClass
{
   public:
      void my_func(void) { }
      static void static_my_func(void) { }
      void my_func_address(void) 
      { 

         std::cout &lt;&lt; &amp;TestClass::my_func &lt;&lt; std::endl; 
         std::cout &lt;&lt; &amp;TestClass::static_my_func &lt;&lt; std::endl; 
      }
};

int main(void)
{
   TestClass t_class;
   t_class.my_func_address();
   void (TestClass::*function)(void) = &amp;TestClass::my_func;

   std::cout &lt;&lt; &quot;my_func address: &quot; &lt;&lt; function &lt;&lt; std::endl;

   return 0;
}
</code></pre>
<p>bekomme aber als resultat</p>
<pre><code>1
0x00443982
my_func address: 1
</code></pre>
<p>hab also irgendwo nen fehler drinnen oder es geht doch nicht.<br />
weiß einer mehr ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267605</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Tue, 17 Apr 2007 09:47:52 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 09:54:33 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/30712">@Hume</a>: Danke für die Korrekturen.</p>
<p>@Meep: Was hast du denn erwartet? Methodenzeiger gelten nur relativ zu einem Objekt, also wirst du dort keine Vollwert-Zeiger finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267607</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Apr 2007 09:54:33 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 10:10:05 GMT]]></title><description><![CDATA[<p>re</p>
<p>naja mir geht es ja nicht darum das ich mit einem member-funktions-pointer eine member funktion aufrufen kann. ich wollte lediglich die adresse der member funktion rausbekommen.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267617</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Tue, 17 Apr 2007 10:10:05 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 10:17:19 GMT]]></title><description><![CDATA[<p>Und wozu soll das gut sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267623</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Apr 2007 10:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 10:25:26 GMT]]></title><description><![CDATA[<p>wollte nur was ausprobieren</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267629</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Tue, 17 Apr 2007 10:25:26 GMT</pubDate></item><item><title><![CDATA[Reply to adresse einer nicht statischen memberfunktion on Tue, 17 Apr 2007 14:37:27 GMT]]></title><description><![CDATA[<p>Es gibt keine Überladung des Operators &lt;&lt; für streams und Zeiger auf Memberfunktionen. Allerdings ist ein solcher Zeiger implizit in bool konvertierbar und dafür existiert eine solche Überladung. Die erste Zeile wird daher immer 1 ausgeben. Das hat noch nicht einmal etwas mit dem konkreten Gehalt des Zeigers zu tun, dass das nicht einfach eine Adresse ist und die Frage nach einer solchen Adresse nur in einem bestimmten Kontext sinn haben kann, spielt dabei noch nicht einmal eine Rolle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1267798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1267798</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 17 Apr 2007 14:37:27 GMT</pubDate></item></channel></rss>