<?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[Klassen prototypen]]></title><description><![CDATA[<p>hi beisammen,<br />
vl kennt ihr ja das Problem, wenn zweit Klassen miteinander verknüpft sind der kompiler immer eine komponente nicht kennt<br />
(in ungefähr so:)</p>
<pre><code class="language-cpp">class a
{
void blub (b*ptr){}
};

class b
{
void blab(a*ptr){}
};
</code></pre>
<p>lässt sich aber ja mit</p>
<pre><code class="language-cpp">class a;
class b;
</code></pre>
<p>davor beheben...<br />
nun funzen aber leider die subklassen nicht mehr</p>
<pre><code class="language-cpp">class c : public a
{
};
</code></pre>
<p>Fehlermeldung: expected class-name befor '{' token...<br />
weiß jemand, wie man das umgeht??<br />
thx in advance<br />
TGM</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172709/klassen-prototypen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 01:51:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172709.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Feb 2007 16:53:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 16:54:28 GMT]]></title><description><![CDATA[<p>hi beisammen,<br />
vl kennt ihr ja das Problem, wenn zweit Klassen miteinander verknüpft sind der kompiler immer eine komponente nicht kennt<br />
(in ungefähr so:)</p>
<pre><code class="language-cpp">class a
{
void blub (b*ptr){}
};

class b
{
void blab(a*ptr){}
};
</code></pre>
<p>lässt sich aber ja mit</p>
<pre><code class="language-cpp">class a;
class b;
</code></pre>
<p>davor beheben...<br />
nun funzen aber leider die subklassen nicht mehr</p>
<pre><code class="language-cpp">class c : public a
{
};
</code></pre>
<p>Fehlermeldung: expected class-name befor '{' token...<br />
weiß jemand, wie man das umgeht??<br />
thx in advance<br />
TGM</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224576</guid><dc:creator><![CDATA[TGM]]></dc:creator><pubDate>Wed, 07 Feb 2007 16:54:28 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 17:09:03 GMT]]></title><description><![CDATA[<p>Kannste das n bisschen spezifizieren?</p>
<pre><code class="language-cpp">class a;
class b;

class a
{
void blub (b*ptr){}
};

class b
{
void blab(a*ptr){}
};

class c : public a
{
};
</code></pre>
<p>funzt einwandfrei...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224587</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 07 Feb 2007 17:09:03 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 17:34:25 GMT]]></title><description><![CDATA[<p>die klassen sind, das hätte ich wohl sagen müssen in einzelnde h files aufgespaltet(nur in h files, keine c files...)</p>
<p>a.h:</p>
<pre><code class="language-cpp">#ifndef aaaa
#define aaaa

#include &quot;b.h&quot;

class b;

class a
{
void blub (b*ptr){}
};

#endif
</code></pre>
<p>b.h</p>
<pre><code class="language-cpp">#ifndef bbbb
#define bbbb

#include &quot;a.h&quot;

class a;

class b
{
void blub (a*ptr){}
};

#endif
</code></pre>
<p>c.h</p>
<pre><code class="language-cpp">#ifndef cccc
#define cccc

#include &quot;a.h&quot;

class a;

class c : public a
{
};

#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1224600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224600</guid><dc:creator><![CDATA[TGM]]></dc:creator><pubDate>Wed, 07 Feb 2007 17:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 17:37:53 GMT]]></title><description><![CDATA[<p>Du solltest auf includes in Headern soweit möglich verzichten.<br />
In a.h und b.h ist das möglich, dort reicht die Vorausdeklaration.<br />
Bei c.h ist es nötig, da du von a erbst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224602</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 07 Feb 2007 17:37:53 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 17:51:04 GMT]]></title><description><![CDATA[<p>jo.. das stimmt, man kan bei a&amp;b die includes weglassen, aber ansonnsten ändert sich nichts... der fehler taucht trotzdem auf..<br />
(wx DEVC++ mit g++)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224612</guid><dc:creator><![CDATA[TGM]]></dc:creator><pubDate>Wed, 07 Feb 2007 17:51:04 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 18:00:10 GMT]]></title><description><![CDATA[<p>TGM schrieb:</p>
<blockquote>
<p>jo.. das stimmt, man kan bei a&amp;b die includes weglassen, aber ansonnsten ändert sich nichts... der fehler taucht trotzdem auf..<br />
(wx DEVC++ mit g++)</p>
</blockquote>
<p>kann != sollte. Was du mit a und b baust sind zirkuläre Abhängikeiten. Ausserdem erhöht das die Kompilierungsdauer, wenn du in Köpfen inkludierst.<br />
Der Fehler sollte aber mit dem Beispiel was du postest nicht auftauchen. Sicher hast du keine &quot;;&quot; vergessen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224620</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 07 Feb 2007 18:00:10 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 18:13:55 GMT]]></title><description><![CDATA[<p>ja...<br />
sicher nicht.. habs unabhängig 2 mal ausprobier.. nach einfachem entfernen des<br />
: public a<br />
läufts wunderbar<br />
weglassen ist nicht sooo wichtig, da ja die files nach dem ersten mal sowiso nicht mehr inkluded werden, siehe #ifndef</p>
<p>das bissle langsamer kompelieren ist nicht von bedeutung...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224630</guid><dc:creator><![CDATA[TGM]]></dc:creator><pubDate>Wed, 07 Feb 2007 18:13:55 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Wed, 07 Feb 2007 18:31:55 GMT]]></title><description><![CDATA[<p>Habs jetzt copy&amp;pasted und es kompiliert einwandfrei und tut auch was es soll - nichts.<br />
Du musst irgendwoanders den Fehler haben. Poste doch bitte ein Minimalbeispiel, weo der Fehler auftritt</p>
<p>TGM schrieb:</p>
<blockquote>
<p>das bissle langsamer kompelieren ist nicht von bedeutung...</p>
</blockquote>
<p>Jetzt noch nicht, bei grösseren Projekten schon. Machs doch einfach zum guten Stil. <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/1224641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224641</guid><dc:creator><![CDATA[THX 1138]]></dc:creator><pubDate>Wed, 07 Feb 2007 18:31:55 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Thu, 08 Feb 2007 09:20:26 GMT]]></title><description><![CDATA[<p>TGM schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">class a;

class c : public a
</code></pre>
<p>...</p>
</blockquote>
<p>Soweit ich weiß, reicht eine forward-Deklaration nicht aus, wenn man ableiten will - dazu muss der Compiler die Klassendeklaration sehen.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1224904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1224904</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 08 Feb 2007 09:20:26 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Thu, 08 Feb 2007 16:10:00 GMT]]></title><description><![CDATA[<p>jo.. das mit dem forward declarieren stimmt, deshalb #include &quot;a.h&quot; darüber^^<br />
hab das problem jetzt behoben... backup laden, alles nochmal, diesmal überlegter mit header includes umgegangen und schon funzt es... ich hab keine ahnung worann es gelegen hat...</p>
<p>aber noch ne andere frage:</p>
<p>ich hab ne superklasse, im namespace ORCA::CORE, die eine virtuelle funktion getPixel() besitzt. könnte es sein, das es probleme gibt, wenn die subklasse in nem anderen Namespace steht??<br />
weil da eine Fehlermeldung kommt,<br />
unknow funktion getPixel(intersection intersec&amp;, scence* world&amp;)<br />
kandidates are getPixel(intersection intersec, scence* world)</p>
<p>dieses komische &quot;&amp;&quot; danach bekomme ich nicht weg?? ich hab leider auch keine ahnung was der bedeutet(und nein, das referenz &amp; steht davor, das übergeben einer referenz anstelle eines pointers ändert nichts, dann kommt:<br />
unknow funktion getPixel(intersection intersec&amp;, scence&amp; world&amp;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225143</guid><dc:creator><![CDATA[TGM]]></dc:creator><pubDate>Thu, 08 Feb 2007 16:10:00 GMT</pubDate></item><item><title><![CDATA[Reply to Klassen prototypen on Fri, 09 Feb 2007 07:20:57 GMT]]></title><description><![CDATA[<p>Zeig doch mal etwas mehr Code (sprich - sowohl die Basisklasse als auch die abgeleitete Klasse). Die Fehlermeldung sieht für mich so aus, als ob du bei der Deklaration und der zugehörigen Methodendefinition unterschiedliche Parameter angegeben hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225442</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 09 Feb 2007 07:20:57 GMT</pubDate></item></channel></rss>