<?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[Preprocessor]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe zwei Files :</p>
<pre><code class="language-cpp">#ifndef _FILE1_H
#define _FILE1_H

#include &lt;iostream&gt;
#include &quot;file2.h&quot;

class file1 {

public :
  file1();
 ~file1();
  void func1(file2*);	
}
#endif
</code></pre>
<p>und</p>
<pre><code class="language-cpp">#ifndef _FILE2_H
#define _FILE2_H

#include &lt;iostream&gt;
#include &quot;file1.h&quot;

class file2 {

public :
  file2();
 ~file2();
  void func2(file1*);	
}
#endif
</code></pre>
<p>wenn ich dass compilieren möchte, kommt<br />
die Fehlermeldung:</p>
<p>In file included from file1.h:5,<br />
from <a href="http://file1.cc:1" rel="nofollow">file1.cc:1</a>:<br />
file2.h:12: error: `file1' has not been declared<br />
Error 1</p>
<p><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=":confused:"
      alt="😕"
    /></p>
<p>g++ version 3.4.6 20060404 (Red Hat 3.4.6-10)</p>
<p>Die Klassen benötigen sich gegenseitig. Das<br />
lässt aber der Preprocessor nicht zu? Oder<br />
was ist da los?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229482/preprocessor</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 22:17:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229482.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Dec 2008 12:40:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 12:40:43 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe zwei Files :</p>
<pre><code class="language-cpp">#ifndef _FILE1_H
#define _FILE1_H

#include &lt;iostream&gt;
#include &quot;file2.h&quot;

class file1 {

public :
  file1();
 ~file1();
  void func1(file2*);	
}
#endif
</code></pre>
<p>und</p>
<pre><code class="language-cpp">#ifndef _FILE2_H
#define _FILE2_H

#include &lt;iostream&gt;
#include &quot;file1.h&quot;

class file2 {

public :
  file2();
 ~file2();
  void func2(file1*);	
}
#endif
</code></pre>
<p>wenn ich dass compilieren möchte, kommt<br />
die Fehlermeldung:</p>
<p>In file included from file1.h:5,<br />
from <a href="http://file1.cc:1" rel="nofollow">file1.cc:1</a>:<br />
file2.h:12: error: `file1' has not been declared<br />
Error 1</p>
<p><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=":confused:"
      alt="😕"
    /></p>
<p>g++ version 3.4.6 20060404 (Red Hat 3.4.6-10)</p>
<p>Die Klassen benötigen sich gegenseitig. Das<br />
lässt aber der Preprocessor nicht zu? Oder<br />
was ist da los?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629429</guid><dc:creator><![CDATA[NoPanic2007]]></dc:creator><pubDate>Fri, 12 Dec 2008 12:40:43 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 12:42:11 GMT]]></title><description><![CDATA[<p>include raus und ueber forward-declaration</p>
<pre><code class="language-cpp">class file2;

class file1
{
...
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1629432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629432</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Fri, 12 Dec 2008 12:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 12:48:57 GMT]]></title><description><![CDATA[<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629437</guid><dc:creator><![CDATA[NoPanic2007]]></dc:creator><pubDate>Fri, 12 Dec 2008 12:48:57 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 12:51:44 GMT]]></title><description><![CDATA[<p>NoPanic2007 schrieb:</p>
<blockquote>
<p>In getrennten Files ist das nicht möglich?</p>
</blockquote>
<p>Eine forward-declaration ist nicht eine vollständige Deklaration. Und das der Compiler meckert ist irgendwie klar. Ein include kopiert den Text der Datei an die Stelle, in deinen Fall führt dies zum Klassischen: &quot;Was kommt zuerst, das Huhn oder das Ei&quot; - Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629439</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 12 Dec 2008 12:51:44 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 13:05:08 GMT]]></title><description><![CDATA[<p>Jetzt kommt :</p>
<p>error: invalid use of undefined type <code>struct file1' error: forward declaration of</code>struct file1'</p>
<p>Ich benutze in der Funktion func2(file1*) die Objekt<br />
aus &quot;class file1&quot;.</p>
<p>Gibt es einen anderen Weg?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629457</guid><dc:creator><![CDATA[NoPanic2007]]></dc:creator><pubDate>Fri, 12 Dec 2008 13:05:08 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 13:07:03 GMT]]></title><description><![CDATA[<p>Hast du die jeweiligen includes in den cpps drin?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629459</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 12 Dec 2008 13:07:03 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 13:09:03 GMT]]></title><description><![CDATA[<p>In <a href="http://file1.cc" rel="nofollow">file1.cc</a> nur file1.h<br />
und in <a href="http://file2.cc" rel="nofollow">file2.cc</a> nur file2.h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629463</guid><dc:creator><![CDATA[NoPanic2007]]></dc:creator><pubDate>Fri, 12 Dec 2008 13:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 13:20:31 GMT]]></title><description><![CDATA[<p>Du mußt schon das includieren, was du auch brauchst. Wenn eine Funktion in <a href="http://File1.cc" rel="nofollow">File1.cc</a> Zugriff auf Typen benötigt, die in File2.h deklariert sind, dann mußt du File2.h dort auch deklarieren. In den cpps führt das auch zu keinen Problemen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629475</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 12 Dec 2008 13:20:31 GMT</pubDate></item><item><title><![CDATA[Reply to Preprocessor on Fri, 12 Dec 2008 13:26:33 GMT]]></title><description><![CDATA[<p>Jetzt funktioniertz! Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1629482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1629482</guid><dc:creator><![CDATA[NoPanic2007]]></dc:creator><pubDate>Fri, 12 Dec 2008 13:26:33 GMT</pubDate></item></channel></rss>