<?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[Vorwärtsdeklaration]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich Folgendes am geschicktesten realisieren?</p>
<pre><code class="language-cpp">struct Key { /* ... */ };

struct T
{
   int a, b, c;
   map_type::pointer p; // &lt;-- geht logischerweise nicht,
                        //     da map_type ja noch nicht bekannt ist.
};

typedef boost::unordered_map&lt;Key, T&gt; map_type;
</code></pre>
<p>Was ich also bräuchte, wäre eine Art Vorwärtsdeklaration für <code>map_type::pointer</code> .</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/305645/vorwärtsdeklaration</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 19:59:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/305645.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Jul 2012 09:31:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vorwärtsdeklaration on Wed, 04 Jul 2012 09:31:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich Folgendes am geschicktesten realisieren?</p>
<pre><code class="language-cpp">struct Key { /* ... */ };

struct T
{
   int a, b, c;
   map_type::pointer p; // &lt;-- geht logischerweise nicht,
                        //     da map_type ja noch nicht bekannt ist.
};

typedef boost::unordered_map&lt;Key, T&gt; map_type;
</code></pre>
<p>Was ich also bräuchte, wäre eine Art Vorwärtsdeklaration für <code>map_type::pointer</code> .</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229928</guid><dc:creator><![CDATA[Bloops]]></dc:creator><pubDate>Wed, 04 Jul 2012 09:31:35 GMT</pubDate></item><item><title><![CDATA[Reply to Vorwärtsdeklaration on Wed, 04 Jul 2012 09:38:07 GMT]]></title><description><![CDATA[<p>Oder du machst eine Vorwärtsdeklaration für deine Klassen:</p>
<pre><code class="language-cpp">struct Key;

struct T;

typedef boost::unordered_map&lt;Key, T&gt; map_type; 

struct Key { /* ... */ };

struct T
{
   int a, b, c;
   map_type::pointer p; // &lt;-- geht logischerweise jetzt schon :D
};
</code></pre>
<p>Sollte gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229933</guid><dc:creator><![CDATA[kralo9]]></dc:creator><pubDate>Wed, 04 Jul 2012 09:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to Vorwärtsdeklaration on Wed, 04 Jul 2012 09:57:02 GMT]]></title><description><![CDATA[<p>Danke, aber woher weiß ich/du, dass für</p>
<pre><code class="language-cpp">typedef boost::unordered_map&lt;Key, T&gt; map_type;
</code></pre>
<p>die Template-Argumente <code>T</code> und <code>Key</code> nicht vollständig bekannt sein müssen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229946</guid><dc:creator><![CDATA[Bloops]]></dc:creator><pubDate>Wed, 04 Jul 2012 09:57:02 GMT</pubDate></item><item><title><![CDATA[Reply to Vorwärtsdeklaration on Wed, 04 Jul 2012 10:10:49 GMT]]></title><description><![CDATA[<p>Bloops schrieb:</p>
<blockquote>
<p>Danke, aber woher weiß ich/du, dass für</p>
<pre><code class="language-cpp">typedef boost::unordered_map&lt;Key, T&gt; map_type;
</code></pre>
<p>die Template-Argumente <code>T</code> und <code>Key</code> nicht vollständig bekannt sein müssen?</p>
</blockquote>
<p>Dein typedef muss nur wissen, dass es die Klassen gibt. Ihm ist egal, was genau die Klassen sind. Wobei</p>
<pre><code class="language-cpp">map_type::pointer p;
</code></pre>
<p>bei der Variablen Deklaration der Compiler <strong>genau</strong> wissen muss, was das ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2229948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229948</guid><dc:creator><![CDATA[kralo9]]></dc:creator><pubDate>Wed, 04 Jul 2012 10:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Vorwärtsdeklaration on Wed, 04 Jul 2012 11:32:18 GMT]]></title><description><![CDATA[<p>kralo9 schrieb:</p>
<blockquote>
<p>Wobei</p>
<pre><code class="language-cpp">map_type::pointer p;
</code></pre>
<p>bei der Variablen Deklaration der Compiler <strong>genau</strong> wissen muss, was das ist.</p>
</blockquote>
<p>Naja, <strong>genau</strong> ist leider etwas ungenau...</p>
<p>boost::unordered_map unterstützt die hier nötige Instanziierung mit T, das zu diesem Zeitpunkt noch ein &quot;incomplete Type&quot; ist. (<a href="http://www.boost.org/doc/libs/1_50_0/doc/html/unordered/changes.html#unordered.changes.boost_1_42_0" rel="nofollow">http://www.boost.org/doc/libs/1_50_0/doc/html/unordered/changes.html#unordered.changes.boost_1_42_0</a>)</p>
<p>Schwein gehabt! <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/2229982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229982</guid><dc:creator><![CDATA[Fredderick]]></dc:creator><pubDate>Wed, 04 Jul 2012 11:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to Vorwärtsdeklaration on Wed, 04 Jul 2012 11:39:19 GMT]]></title><description><![CDATA[<p>Fredderick schrieb:</p>
<blockquote>
<p>Schwein gehabt! <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>
</blockquote>
<p>Nein, alles Berechnung <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/2229987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2229987</guid><dc:creator><![CDATA[kralo9]]></dc:creator><pubDate>Wed, 04 Jul 2012 11:39:19 GMT</pubDate></item></channel></rss>