<?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[header wirrwar]]></title><description><![CDATA[<p>hi!<br />
ich habe folgendes problem:</p>
<p>//header A</p>
<pre><code>#ifndef A
#define A
#include &quot;B.h&quot;
class cA;
{
int x;
B *mB   
B *func { return mB-&gt;x; }
}
#endif;
</code></pre>
<p>//header B</p>
<pre><code>#ifndef B
#define B
#include &quot;A.h&quot;
class cB;
{
int x;
A *mA   
A *func { return mA-&gt;x; }
}
#endif;
</code></pre>
<p>wie man sieht hilft forward deklination nicht viel da ich jeweils den noch undefinierten typ der anderen klasse verwenden möchte.<br />
wie könnte ich das problem umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150260/header-wirrwar</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 13:44:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150260.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 Jun 2006 15:08:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to header wirrwar on Wed, 14 Jun 2006 15:08:48 GMT]]></title><description><![CDATA[<p>hi!<br />
ich habe folgendes problem:</p>
<p>//header A</p>
<pre><code>#ifndef A
#define A
#include &quot;B.h&quot;
class cA;
{
int x;
B *mB   
B *func { return mB-&gt;x; }
}
#endif;
</code></pre>
<p>//header B</p>
<pre><code>#ifndef B
#define B
#include &quot;A.h&quot;
class cB;
{
int x;
A *mA   
A *func { return mA-&gt;x; }
}
#endif;
</code></pre>
<p>wie man sieht hilft forward deklination nicht viel da ich jeweils den noch undefinierten typ der anderen klasse verwenden möchte.<br />
wie könnte ich das problem umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077706</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Wed, 14 Jun 2006 15:08:48 GMT</pubDate></item><item><title><![CDATA[Reply to header wirrwar on Wed, 14 Jun 2006 15:33:42 GMT]]></title><description><![CDATA[<p>habe jetzte die definition der methode nicht inline, sondern in der cpp datei vorgenommen.<br />
find ich zwar nich so dolle aber anders gehts wohl nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077729</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Wed, 14 Jun 2006 15:33:42 GMT</pubDate></item><item><title><![CDATA[Reply to header wirrwar on Wed, 14 Jun 2006 15:44:53 GMT]]></title><description><![CDATA[<p>hm so nochmal, sollte mir vieleicht nen account besorgen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>was passiert aber, wenn ich nun eine friend funktion der jeweils anderen klasse deklarieren möchte?<br />
eine klasse wäre ja in jedem fall nicht definiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077735</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Wed, 14 Jun 2006 15:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to header wirrwar on Wed, 14 Jun 2006 16:23:19 GMT]]></title><description><![CDATA[<p>1. Es gibt einen Grund warum Deklarationen in Header-Dateien, und Funktionsdefinitionen in Quellcode-Dateien angegeben werden.<br />
2. Du hast die Klassen cA und cB genannt, verwendest aber die Symbole A und B.<br />
3. Du hast in deinem Beispiel mehrere Syntaxfehler.<br />
4. Die Klassendeklaration muss nicht bekannt sein, um Zeiger oder Referenzen auf eine Klasse zu übergeben.<br />
5. Du definierst leere Makros A und B. Folglich werden A und B in den Klassendeklarationen entfernt.</p>
<p>Header für cA:</p>
<pre><code class="language-cpp">#ifndef A
#define A

class cB;

class cA
{
	int x;
	cB* mB;
	cB* func(); // Definition gehört in Quellcodedatei
};

#endif
</code></pre>
<p>Header für cB:</p>
<pre><code class="language-cpp">#ifndef B
#define B

class cA;

class cB
{
	int x;
	cA* mA;
	cA* func(); // Definition gehört in Quellcodedatei
};

#endif
</code></pre>
<p>Das nächste Mal, wenn du ein Problem hast, gib doch bitte eine ordentliche Beschreibung und vor allem ohne fehlerdurchtränkte Beispiele.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1077763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1077763</guid><dc:creator><![CDATA[Neku]]></dc:creator><pubDate>Wed, 14 Jun 2006 16:23:19 GMT</pubDate></item></channel></rss>