<?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[Frage zu Function Pointer]]></title><description><![CDATA[<p>Hallo allerseits,<br />
ich habe gerade ein Problem mit Visual Studio 2005 bzw. meinem Quelltext <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Ich habe eine Klasse, der im Konstrukor eine Funktion übergeben wird,die die Klasse dann aufruft. Falls dortnull übergeben wird, soll eine Funktion dieser Klasse aufgerufen werden. Das klappt jedoch nicht. Hier ist mein Quelltext, kann mir jemand helfen?</p>
<p>Header</p>
<pre><code class="language-cpp">class Test
{

public:
	Test(void (*funct)(SOCKET *sock, char* buffer));
	void (*recvfunction)(SOCKET *sock, char* buffer);
        void readMessage(SOCKET *sock, char* buffer);
</code></pre>
<p>Cpp-File</p>
<pre><code class="language-cpp">Test::Test(void (*funct)(SOCKET *sock, char* buffer)) : recvfunction(funct)
{
       if(funkt==NULL)
       {
               recvfunction = &amp;Test::readMessage;   // Das geht hier nicht
       }
}
</code></pre>
<p>Kann mir bitte jemand helfen und mir erklären,warum das so nicht geht und wie ich es richtig mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/196140/frage-zu-function-pointer</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 09:08:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/196140.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Oct 2007 20:33:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Function Pointer on Thu, 25 Oct 2007 20:34:02 GMT]]></title><description><![CDATA[<p>Hallo allerseits,<br />
ich habe gerade ein Problem mit Visual Studio 2005 bzw. meinem Quelltext <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Ich habe eine Klasse, der im Konstrukor eine Funktion übergeben wird,die die Klasse dann aufruft. Falls dortnull übergeben wird, soll eine Funktion dieser Klasse aufgerufen werden. Das klappt jedoch nicht. Hier ist mein Quelltext, kann mir jemand helfen?</p>
<p>Header</p>
<pre><code class="language-cpp">class Test
{

public:
	Test(void (*funct)(SOCKET *sock, char* buffer));
	void (*recvfunction)(SOCKET *sock, char* buffer);
        void readMessage(SOCKET *sock, char* buffer);
</code></pre>
<p>Cpp-File</p>
<pre><code class="language-cpp">Test::Test(void (*funct)(SOCKET *sock, char* buffer)) : recvfunction(funct)
{
       if(funkt==NULL)
       {
               recvfunction = &amp;Test::readMessage;   // Das geht hier nicht
       }
}
</code></pre>
<p>Kann mir bitte jemand helfen und mir erklären,warum das so nicht geht und wie ich es richtig mache?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392174</guid><dc:creator><![CDATA[Trille]]></dc:creator><pubDate>Thu, 25 Oct 2007 20:34:02 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Function Pointer on Thu, 25 Oct 2007 21:08:08 GMT]]></title><description><![CDATA[<p>versuch mal das:</p>
<p>recvfunction = Test::readMessage;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392196</guid><dc:creator><![CDATA[___²___]]></dc:creator><pubDate>Thu, 25 Oct 2007 21:08:08 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Function Pointer on Thu, 25 Oct 2007 21:09:01 GMT]]></title><description><![CDATA[<p>und</p>
<p>void readMessage(SOCKET *sock, char* buffer);</p>
<p>als static deklarieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392197</guid><dc:creator><![CDATA[___²___]]></dc:creator><pubDate>Thu, 25 Oct 2007 21:09:01 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Function Pointer on Thu, 25 Oct 2007 21:22:07 GMT]]></title><description><![CDATA[<p>Hm, geht trotzdem nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392204</guid><dc:creator><![CDATA[Trille]]></dc:creator><pubDate>Thu, 25 Oct 2007 21:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Function Pointer on Fri, 26 Oct 2007 05:34:37 GMT]]></title><description><![CDATA[<p>Du kannst einem Funktionszeiger keine Methode übergeben, weil dafür der Bezug zum this-Zeiger fehlt. Das geht nur mit &quot;normalen&quot; Funktionen oder static Methoden.</p>
<p>PS: Außerdem wäre es hilfreich, eine genauere Fehlerbeschreibung als &quot;geht nicht&quot; mitzugeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392253</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 26 Oct 2007 05:34:37 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Function Pointer on Fri, 26 Oct 2007 06:30:35 GMT]]></title><description><![CDATA[<p>Das bedeutet, wenn ich den Header so ändere, dass er wie folgt aussieht, müsste es funktionieren?</p>
<pre><code class="language-cpp">class Test
{

public:
    Test(void (*funct)(SOCKET *sock, char* buffer));
    void (*recvfunction)(SOCKET *sock, char* buffer);
    static void readMessage(SOCKET *sock, char* buffer);
</code></pre>
<p>Oder habe ich dich da jetzt falsch verstanden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392272</guid><dc:creator><![CDATA[Trille]]></dc:creator><pubDate>Fri, 26 Oct 2007 06:30:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Function Pointer on Fri, 26 Oct 2007 06:40:27 GMT]]></title><description><![CDATA[<p>Ja, so müsste es passen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1392276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1392276</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 26 Oct 2007 06:40:27 GMT</pubDate></item></channel></rss>