<?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[funktionszeiger setzen]]></title><description><![CDATA[<p>hoi,<br />
wie setzte ich ein funktionszeiger NULL bzw lasse ihn auf andere funktionzeiger zeigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/147630/funktionszeiger-setzen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 08:45:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/147630.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 May 2006 16:29:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 16:29:33 GMT]]></title><description><![CDATA[<p>hoi,<br />
wie setzte ich ein funktionszeiger NULL bzw lasse ihn auf andere funktionzeiger zeigen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060319</guid><dc:creator><![CDATA[fire]]></dc:creator><pubDate>Thu, 18 May 2006 16:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 16:34:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int func (int);

int main(void)
{
    int (*functionpointer1)(int) = func;
    double (*functionpointer2)(void) = 0;
}
</code></pre>
<p>Hoffe, ich konnte helfen, <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>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060323</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Thu, 18 May 2006 16:34:57 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 16:42:14 GMT]]></title><description><![CDATA[<p>ups ich hab mist gebaut sorry <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f636.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_without_mouth"
      title=":X"
      alt="😶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060328</guid><dc:creator><![CDATA[fire]]></dc:creator><pubDate>Thu, 18 May 2006 16:42:14 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 17:28:18 GMT]]></title><description><![CDATA[<p>und wie könnte jetzte ein funktionszeiger auf eine methode aussehen(methodenzeiger?)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060366</guid><dc:creator><![CDATA[fireDev]]></dc:creator><pubDate>Thu, 18 May 2006 17:28:18 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 17:49:06 GMT]]></title><description><![CDATA[<p>Dafür müsstest du dir schon ein struct bauen.</p>
<pre><code class="language-cpp">class INode {
public:
  bool doSth() = 0;
};

typedef (bool) INode::_fptr();
struct mptr {
private:
  INode&amp; node;
  _fptr fptr;
public:
  mptr(INode&amp; _node, _fptr _fptr) : node(_node)
    , fptr(_fptr) {}

  bool operator()() {
    return node.(*fptr);
  }
};

class Node : public INode {
public:
   bool func() { ... }
};

int main() {
   Node myNode;
   mptr myPtr(myNode, myNode.func);
   if(myPtr())
     cout &lt;&lt; hell ya &lt;&lt; endl;

   return 0;

}
</code></pre>
<p>so in etwa.<br />
Ich hab's grad eben nur schnell runtergeschrieben - aber so in etwa.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060383</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Thu, 18 May 2006 17:49:06 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 17:52:21 GMT]]></title><description><![CDATA[<p>genaueres steht auch in der FAQ dazu...<br />
Kann man sehr schön templates draus bauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060388</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 18 May 2006 17:52:21 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 19:05:25 GMT]]></title><description><![CDATA[<p>Also das hier ist Code, welcher auch wirklich in ähnlicher Form im Einsatz ist und damit funktioniert:</p>
<pre><code class="language-cpp">typedef void (CXX::*f)(void);

struct t_data {
  t_data(CXX* pPage_, f pFunc_)
      : pPage(pPage_), pFunc(pFunc_) {}

  ~t_data() {
      pPage = 0;
      pFunc = 0;
  }

  void operator() () {
      if(pPage &amp;&amp; pFunc)
        (pPage-&gt;*pFunc)();
  }
protected:
  CXX* pPage;
  f pFunc;
}; 

class CXX {
public:
  void funk();
protected:
  void bla();
};

void CXX::bla() {
  t_data pio(this, funk);
  pio();
}
</code></pre>
<p>Natürlich isses mit Templates schöner und flexibler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1060443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060443</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Thu, 18 May 2006 19:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Thu, 18 May 2006 21:54:14 GMT]]></title><description><![CDATA[<p>fireDev schrieb:</p>
<blockquote>
<p>und wie könnte jetzte ein funktionszeiger auf eine methode aussehen(methodenzeiger?)?</p>
</blockquote>
<pre><code class="language-cpp">class Test {

  public:
         int myInt;
         int myfunc();
};

...

int Test::*daten;     //Elementzeiger auf die Daten deiner Klasse
int (Test::*funcs)(); //Elementzeiger auf die Funktionen deiner Klasse

Test la;

//Nun die Offsets der Elemente holen
daten = &amp;Test::myInt;
funcs = &amp;Test::myfunc();

//Anhand des Offsets über ein Objekt das Element ansprechen;
cout &lt;&lt; la.*daten;
(la.*myfunc)();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1060529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1060529</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 18 May 2006 21:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to funktionszeiger setzen on Fri, 19 May 2006 15:28:15 GMT]]></title><description><![CDATA[<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1061084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1061084</guid><dc:creator><![CDATA[fireDev]]></dc:creator><pubDate>Fri, 19 May 2006 15:28:15 GMT</pubDate></item></channel></rss>