<?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[casten von void* zu std::map&amp;lt;&amp;gt; möglich?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe wie so oft ein Problemchen.<br />
Ich möchte einen vector aus std::function's erstellen, die teilweise unterschiedliche Rückgabetypen haben.<br />
Ich habe daher den vector als std::vector&lt;std::function&lt;void*()&gt;&gt; definiert.<br />
Das &quot;Problem&quot; ist, dass die Rückgabetypen nicht immer Pointer sind. Einige Funktionen geben ein Object vom Typ BaseClass* zurück, das ich ja problemlos von void* casten kann.<br />
Allerdings sollen ein paar Funktionen eine std::map&lt;int, BaseClass*&gt; zurückgeben.</p>
<p>Kann ich also ein void* zu std::map&lt;int, BaseClass*&gt; casten? Oder muss ich dafür einen neuen vector mit einer passenden std::function-Signatur erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/337320/casten-von-void-zu-std-map-lt-gt-möglich</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 06:35:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/337320.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Mar 2016 14:37:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to casten von void* zu std::map&amp;lt;&amp;gt; möglich? on Thu, 24 Mar 2016 14:37:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe wie so oft ein Problemchen.<br />
Ich möchte einen vector aus std::function's erstellen, die teilweise unterschiedliche Rückgabetypen haben.<br />
Ich habe daher den vector als std::vector&lt;std::function&lt;void*()&gt;&gt; definiert.<br />
Das &quot;Problem&quot; ist, dass die Rückgabetypen nicht immer Pointer sind. Einige Funktionen geben ein Object vom Typ BaseClass* zurück, das ich ja problemlos von void* casten kann.<br />
Allerdings sollen ein paar Funktionen eine std::map&lt;int, BaseClass*&gt; zurückgeben.</p>
<p>Kann ich also ein void* zu std::map&lt;int, BaseClass*&gt; casten? Oder muss ich dafür einen neuen vector mit einer passenden std::function-Signatur erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2491354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2491354</guid><dc:creator><![CDATA[Cherup]]></dc:creator><pubDate>Thu, 24 Mar 2016 14:37:44 GMT</pubDate></item><item><title><![CDATA[Reply to casten von void* zu std::map&amp;lt;&amp;gt; möglich? on Thu, 24 Mar 2016 14:51:06 GMT]]></title><description><![CDATA[<p>Einen void Pointer kann man nicht einfach zu einer Klasse casten. Höchstens zu einem Pointer dieser Klasse, also auch <code>std::map&lt;int, BaseClass*&gt;*</code> . Ob das allerdings sinnvoll ist ist eine andere Frage. Woher weißt du überhaupt was dein void Pointer mal war? Vermutlich gibt es bessere Möglichkeiten das zu erreichen was du vorhast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2491356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2491356</guid><dc:creator><![CDATA[sebi707]]></dc:creator><pubDate>Thu, 24 Mar 2016 14:51:06 GMT</pubDate></item><item><title><![CDATA[Reply to casten von void* zu std::map&amp;lt;&amp;gt; möglich? on Thu, 24 Mar 2016 15:20:03 GMT]]></title><description><![CDATA[<p>sebi707 schrieb:</p>
<blockquote>
<p>Woher weißt du überhaupt was dein void Pointer mal war?</p>
</blockquote>
<p>Der vector ist eigentlich ein vector aus vectoren von functions, ich hab das nur der Übersichtlickeit halber wegegelassen. Die lambda-Funktionen der jeweiligen functions-vectoren haben immer die selbe Signatur und den gleichen Rückgabetyp.</p>
<p>Und ja, es gibt andere Möglichkeiten, das Ziel zu erreichen, ich muss lediglich einer abstrakten Klasse 3 oder 4 zusätzliche Funktionen verpassen, also nichts unlösbares <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>Ich wollte nur wissen ob es vielleicht auch so möglich ist (ich bin schreibfaul <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="😃"
    /> ), also danke für die Info <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2491360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2491360</guid><dc:creator><![CDATA[Cherup]]></dc:creator><pubDate>Thu, 24 Mar 2016 15:20:03 GMT</pubDate></item></channel></rss>