<?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[Array von Funktionszeigern]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich suche jetzt seit geraumer Zeit nach einer Lösung, leider ohne Erfolg. Deshalb hoffe ich, dass einer von euch mir helfen kann.</p>
<p>Ich würde gerne ein Array von Funktionszeigern in einer Klasse erstellen. Leider weiß ich nicht, wie man das richtig initialisiert. Der Code könnte folgendermaßen aussehen....</p>
<pre><code>// header datei
class A
{
public:
	A();
	~A();

private:
	void method1(float val);
	void method2(float val);

	// Initialisierung des Arrays ???
	_fct
}

// cpp datei
A::A()
{
	// Methoden im Array festhalten
	_fct[0] = &amp;A::method1;
	_fct[1] = &amp;A::method2;

	// Aufruf einer der Methoden
	_fct[0](20.5f);
}

A::~A() {}

void A::method1(float val) { /* code */ }
void A::method2(float val) { /* code */ }
</code></pre>
<p>Ich wäre euch sehr dankbar, wenn ihr mir verraten könnt, wie ich _fcts in der header richtig initialisiere.</p>
<p>Gruß T.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/319417/array-von-funktionszeigern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 13:36:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/319417.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Aug 2013 21:34:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array von Funktionszeigern on Sat, 17 Aug 2013 21:34:36 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich suche jetzt seit geraumer Zeit nach einer Lösung, leider ohne Erfolg. Deshalb hoffe ich, dass einer von euch mir helfen kann.</p>
<p>Ich würde gerne ein Array von Funktionszeigern in einer Klasse erstellen. Leider weiß ich nicht, wie man das richtig initialisiert. Der Code könnte folgendermaßen aussehen....</p>
<pre><code>// header datei
class A
{
public:
	A();
	~A();

private:
	void method1(float val);
	void method2(float val);

	// Initialisierung des Arrays ???
	_fct
}

// cpp datei
A::A()
{
	// Methoden im Array festhalten
	_fct[0] = &amp;A::method1;
	_fct[1] = &amp;A::method2;

	// Aufruf einer der Methoden
	_fct[0](20.5f);
}

A::~A() {}

void A::method1(float val) { /* code */ }
void A::method2(float val) { /* code */ }
</code></pre>
<p>Ich wäre euch sehr dankbar, wenn ihr mir verraten könnt, wie ich _fcts in der header richtig initialisiere.</p>
<p>Gruß T.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2346719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2346719</guid><dc:creator><![CDATA[themerx]]></dc:creator><pubDate>Sat, 17 Aug 2013 21:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Funktionszeigern on Sat, 17 Aug 2013 21:36:32 GMT]]></title><description><![CDATA[<p>Du meinst deklarieren? <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>
<pre><code>void (A::*_fcts)(float)[4];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2346720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2346720</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sat, 17 Aug 2013 21:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Funktionszeigern on Sat, 17 Aug 2013 21:40:39 GMT]]></title><description><![CDATA[<p>Das ging ja flott. Leider funktioniert es so nicht. Die eckige Klammer wird unterstrichen mit der Meldung: &quot;IntelliSense: Eine Funktion, die ein Array zurückgibt, ist nicht zulässig.&quot;</p>
<p>Stimmt, natürlich deklarieren. Das Initialisieren geschieht im Konstruktor. Bin den ganzen Tag schon am coden und etwas müde. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":-D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2346721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2346721</guid><dc:creator><![CDATA[themerx]]></dc:creator><pubDate>Sat, 17 Aug 2013 21:40:39 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Funktionszeigern on Sat, 17 Aug 2013 21:43:16 GMT]]></title><description><![CDATA[<p>Ah lol, sry, ich bin auch schon zu müde heute:</p>
<pre><code>void (A::*_fcts[4])(float);
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2346723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2346723</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sat, 17 Aug 2013 21:43:16 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Funktionszeigern on Sat, 17 Aug 2013 21:43:40 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void (A::*_fcts[4])(float);
</code></pre>
<p>...aber ich halte</p>
<pre><code class="language-cpp">typedef (A::*fooptr)(float);
fooptr _fcts[4];
</code></pre>
<p>für sinnvoller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2346724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2346724</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Sat, 17 Aug 2013 21:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Funktionszeigern on Sat, 17 Aug 2013 21:50:16 GMT]]></title><description><![CDATA[<p>Es funktioniert endlich. Vielen Dank.</p>
<p>Noch eine Frage an 'seldon'. Warum hältst du die zweite Variante für sinnvoller?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2346725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2346725</guid><dc:creator><![CDATA[themerx]]></dc:creator><pubDate>Sat, 17 Aug 2013 21:50:16 GMT</pubDate></item><item><title><![CDATA[Reply to Array von Funktionszeigern on Sat, 17 Aug 2013 21:58:59 GMT]]></title><description><![CDATA[<p>Weil die erste ziemlich schwer zu lesen ist. Das ist schon mit Funktionszeigern so, und bei Methodenzeigern wie hier wird es sehr schnell sehr gemein. Mit typedef werden solche Dinge deutlich übersichtlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2346728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2346728</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Sat, 17 Aug 2013 21:58:59 GMT</pubDate></item></channel></rss>