<?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[klassen funktions pointer]]></title><description><![CDATA[<p>hola leute</p>
<p>steh grad tierisch am schlauch.<br />
moechte gerne folgendes machen</p>
<pre><code>struct test
{
   void print(const char *str)
   {
      std::cout &lt;&lt; str;
   }
}

int main(void)
{
   test t;
   typedef void (test::*print)(const char *str);
   print p = &amp;t.print;
   p(&quot;test&quot;);
}
</code></pre>
<p>wie funktioniert das richtig ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322003/klassen-funktions-pointer</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 13:53:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322003.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Dec 2013 20:55:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to klassen funktions pointer on Mon, 02 Dec 2013 20:56:38 GMT]]></title><description><![CDATA[<p>hola leute</p>
<p>steh grad tierisch am schlauch.<br />
moechte gerne folgendes machen</p>
<pre><code>struct test
{
   void print(const char *str)
   {
      std::cout &lt;&lt; str;
   }
}

int main(void)
{
   test t;
   typedef void (test::*print)(const char *str);
   print p = &amp;t.print;
   p(&quot;test&quot;);
}
</code></pre>
<p>wie funktioniert das richtig ?</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369456</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Mon, 02 Dec 2013 20:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to klassen funktions pointer on Mon, 02 Dec 2013 20:58:50 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>hola leute</p>
<p>steh grad tierisch am schlauch.<br />
moechte gerne folgendes machen</p>
<pre><code>struct test
{
   void print(const char *str)
   {
      std::cout &lt;&lt; str;
   }
}

int main(void)
{
   test t;
   typedef void (test::*print)(const char *str);
   print p = &amp;t.print;
   p(&quot;test&quot;);
}
</code></pre>
<p>wie funktioniert das richtig ?</p>
<p>Meep Meep</p>
</blockquote>
<pre><code>struct test
{
   void print(const char *str)
   {
      std::cout &lt;&lt; str;
   }
}

int main(void)
{
   test t;
   typedef void (test::*print)(const char *str);
   print p = &amp;test::print; //print p = &amp;t.print;
   t.*p(&quot;test&quot;); //p(&quot;test&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2369458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369458</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Mon, 02 Dec 2013 20:58:50 GMT</pubDate></item><item><title><![CDATA[Reply to klassen funktions pointer on Mon, 02 Dec 2013 21:05:15 GMT]]></title><description><![CDATA[<p>in der zeile</p>
<pre><code>t.*p(&quot;test&quot;); //p(&quot;test&quot;);
</code></pre>
<p>kommt der fehler</p>
<pre><code>Ausdruck ergibt keine Funktion, die 1 Argumente übernimmt
</code></pre>
<p>wobei ich sowieso nicht verstehe warum da</p>
<pre><code>t.*p
</code></pre>
<p>steht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369459</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Mon, 02 Dec 2013 21:05:15 GMT</pubDate></item><item><title><![CDATA[Reply to klassen funktions pointer on Mon, 02 Dec 2013 21:18:07 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>in der zeile</p>
<pre><code>t.*p(&quot;test&quot;); //p(&quot;test&quot;);
</code></pre>
<p>kommt der fehler</p>
<pre><code>Ausdruck ergibt keine Funktion, die 1 Argumente übernimmt
</code></pre>
</blockquote>
<p>Ja, die Priorität ist beim .*-Operator niedriger, da müssen Klammern drum:</p>
<pre><code class="language-cpp">(t.*p)(&quot;test&quot;);
</code></pre>
<blockquote>
<p>wobei ich sowieso nicht verstehe warum da</p>
<pre><code>t.*p
</code></pre>
<p>steht</p>
</blockquote>
<p>p ist ein Zeiger auf eine (nichtstatische natürlich) Memberfunktion, und Memberfunktionen müssen immer auf einem Objekt (für das this) aufgerufen werden. Deshalb kann es nicht funktionieren, einfach nur p() aufzurufen. Sowas wie &quot;gebundene Methoden&quot; wie z.B. in Python gibt es in C++ nicht. Man kann das allerdings mit Funktionsobjekten nachbauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369461</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 02 Dec 2013 21:18:07 GMT</pubDate></item><item><title><![CDATA[Reply to klassen funktions pointer on Mon, 02 Dec 2013 21:45:09 GMT]]></title><description><![CDATA[<p>Darfst du C++11 verwenden? Mit Lambdas wird das um <em>einiges</em> einfacher. (Alternativ in C++03 boost::function, aber das kommt mit Laufzeiteinbussen.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369464</guid><dc:creator><![CDATA[c++11]]></dc:creator><pubDate>Mon, 02 Dec 2013 21:45:09 GMT</pubDate></item><item><title><![CDATA[Reply to klassen funktions pointer on Tue, 03 Dec 2013 07:58:27 GMT]]></title><description><![CDATA[<p>was und wie wird es mit lambdas einfacher ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369496</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Tue, 03 Dec 2013 07:58:27 GMT</pubDate></item><item><title><![CDATA[Reply to klassen funktions pointer on Tue, 03 Dec 2013 08:15:48 GMT]]></title><description><![CDATA[<p>Das kommt halt drauf an, was du vorhast.</p>
<p>Was hasten vor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2369498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2369498</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 03 Dec 2013 08:15:48 GMT</pubDate></item></channel></rss>