<?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 als Übergabeparameter]]></title><description><![CDATA[<p>Einen schönen guten Abend!</p>
<p>Ich habe ein Menü aus grafischen Elementen. Beim Mausklick auf diese möchte ich die entsprechende Funktion ausführen. Um Element und Funktion zu verknüpfen, habe ich in der Klasse des Elements einen Zeiger implementiert, der auf die Entsprechende Funktion verweist.</p>
<pre><code class="language-cpp">void (*Function) ();
</code></pre>
<p>Definiert wird er im Konstruktor.</p>
<pre><code class="language-cpp">StringItem::StringItem (std::string Content, void Reference (), int PositionX, int PositionY, int Size)
{
	// [...]
	Function = Reference;
}
</code></pre>
<p>Wie muss der Übergabeparameter aussehen? Die Funktion allein als Parameter reicht anscheinend nicht.</p>
<pre><code class="language-cpp">std::deque &lt;StringItem&gt; MenuItem;
MenuItem.push_back (StringItem (&quot;Foo&quot;, Bar (), 100, 100, 30));
</code></pre>
<p>Weiterhin, wie gebe ich das Ziel des Zeigers zurück? Und ist mein Vorgehen eine akzeptable Lösung?</p>
<p>Danke für Antworten im Voraus, Adam S</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261933/funktionszeiger-als-übergabeparameter</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 00:48:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261933.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Feb 2010 18:03:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionszeiger als Übergabeparameter on Thu, 25 Feb 2010 18:11:11 GMT]]></title><description><![CDATA[<p>Einen schönen guten Abend!</p>
<p>Ich habe ein Menü aus grafischen Elementen. Beim Mausklick auf diese möchte ich die entsprechende Funktion ausführen. Um Element und Funktion zu verknüpfen, habe ich in der Klasse des Elements einen Zeiger implementiert, der auf die Entsprechende Funktion verweist.</p>
<pre><code class="language-cpp">void (*Function) ();
</code></pre>
<p>Definiert wird er im Konstruktor.</p>
<pre><code class="language-cpp">StringItem::StringItem (std::string Content, void Reference (), int PositionX, int PositionY, int Size)
{
	// [...]
	Function = Reference;
}
</code></pre>
<p>Wie muss der Übergabeparameter aussehen? Die Funktion allein als Parameter reicht anscheinend nicht.</p>
<pre><code class="language-cpp">std::deque &lt;StringItem&gt; MenuItem;
MenuItem.push_back (StringItem (&quot;Foo&quot;, Bar (), 100, 100, 30));
</code></pre>
<p>Weiterhin, wie gebe ich das Ziel des Zeigers zurück? Und ist mein Vorgehen eine akzeptable Lösung?</p>
<p>Danke für Antworten im Voraus, Adam S</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1861444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1861444</guid><dc:creator><![CDATA[Adam S]]></dc:creator><pubDate>Thu, 25 Feb 2010 18:11:11 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionszeiger als Übergabeparameter on Thu, 25 Feb 2010 18:09:26 GMT]]></title><description><![CDATA[<p>Gutes Tutorial über Funktionszeiger:<br />
<a href="http://www.newty.de/fpt/index.html" rel="nofollow">http://www.newty.de/fpt/index.html</a></p>
<p>Für freie oder statische Funktionen reicht ein Zeiger auf die Funktion. Bei einem Memberfunktionszeiger musst du noch irgendwie auf das Objekt verweisen.</p>
<p>Wenn du das allerdings verstanden hast, dann empfehle ich dir so etwas, wie boost::function zu nehmen, was dir einen sehr schönen Wrapper für Funktionen als Variablen bietet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1861448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1861448</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 25 Feb 2010 18:09:26 GMT</pubDate></item></channel></rss>