<?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[problem mit include]]></title><description><![CDATA[<p>hi<br />
ich habe ein problem.<br />
ich habe eine klasse und möchte mit ihr einen vektor oder ein pair erzeugen, aber es gibt immer fehler.</p>
<pre><code class="language-cpp">#include &quot;Kurs.h&quot;
#include &quot;Schueler.h&quot;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;
</code></pre>
<p>das sind dann die zeilen die fehler verursachen:</p>
<pre><code class="language-cpp">vector&lt;Kurs*&gt; kurse;
		vector&lt;pair&lt;string/*fach*/,Schueler*&gt;  &gt; zuvs;
</code></pre>
<p>die fehler zu diesen zeilen sind:</p>
<pre><code>..\Objekte\notfin\Zeitleiste.h:32: error: `Kurs' was not declared in this scope
..\Objekte\notfin\Zeitleiste.h:32: error: template argument 1 is invalid
..\Objekte\notfin\Zeitleiste.h:32: error: template argument 2 is invalid
..\Objekte\notfin\Zeitleiste.h:32: error: ISO C++ forbids declaration of `kurse' with no type
..\Objekte\notfin\Zeitleiste.h:33: error: `Schueler' was not declared in this scope
..\Objekte\notfin\Zeitleiste.h:33: error: template argument 2 is invalid
..\Objekte\notfin\Zeitleiste.h:33: error: template argument 1 is invalid
..\Objekte\notfin\Zeitleiste.h:33: error: template argument 2 is invalid
..\Objekte\notfin\Zeitleiste.h:33: error: ISO C++ forbids declaration of `zuvs' with no type
</code></pre>
<p>meine frage:<br />
wo liegen die fehler?</p>
<pre><code>`Kurs' was not declared in this scope
`Schueler' was not declared in this scope
</code></pre>
<p>ich habe dafür die header von kurs und schueler eingebunden. was ist da also falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/270216/problem-mit-include</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 13:46:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/270216.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Jul 2010 12:27:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 12:27:33 GMT]]></title><description><![CDATA[<p>hi<br />
ich habe ein problem.<br />
ich habe eine klasse und möchte mit ihr einen vektor oder ein pair erzeugen, aber es gibt immer fehler.</p>
<pre><code class="language-cpp">#include &quot;Kurs.h&quot;
#include &quot;Schueler.h&quot;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;
</code></pre>
<p>das sind dann die zeilen die fehler verursachen:</p>
<pre><code class="language-cpp">vector&lt;Kurs*&gt; kurse;
		vector&lt;pair&lt;string/*fach*/,Schueler*&gt;  &gt; zuvs;
</code></pre>
<p>die fehler zu diesen zeilen sind:</p>
<pre><code>..\Objekte\notfin\Zeitleiste.h:32: error: `Kurs' was not declared in this scope
..\Objekte\notfin\Zeitleiste.h:32: error: template argument 1 is invalid
..\Objekte\notfin\Zeitleiste.h:32: error: template argument 2 is invalid
..\Objekte\notfin\Zeitleiste.h:32: error: ISO C++ forbids declaration of `kurse' with no type
..\Objekte\notfin\Zeitleiste.h:33: error: `Schueler' was not declared in this scope
..\Objekte\notfin\Zeitleiste.h:33: error: template argument 2 is invalid
..\Objekte\notfin\Zeitleiste.h:33: error: template argument 1 is invalid
..\Objekte\notfin\Zeitleiste.h:33: error: template argument 2 is invalid
..\Objekte\notfin\Zeitleiste.h:33: error: ISO C++ forbids declaration of `zuvs' with no type
</code></pre>
<p>meine frage:<br />
wo liegen die fehler?</p>
<pre><code>`Kurs' was not declared in this scope
`Schueler' was not declared in this scope
</code></pre>
<p>ich habe dafür die header von kurs und schueler eingebunden. was ist da also falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923260</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 12:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 12:32:07 GMT]]></title><description><![CDATA[<p>Ich würde vermuten, dass in Kurs.h oder Schueler.h ein</p>
<p>#include &lt;Zeitleiste.h&gt;</p>
<p>steht.</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923265</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 08 Jul 2010 12:32:07 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 12:36:37 GMT]]></title><description><![CDATA[<p>ok stand drinnen.<br />
wie soll ich aber in schueler jetzt eine zeitleiste benutzen können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923268</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 12:36:37 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 12:47:10 GMT]]></title><description><![CDATA[<p>wsxedcrfv schrieb:</p>
<blockquote>
<p>ok stand drinnen.<br />
wie soll ich aber in schueler jetzt eine zeitleiste benutzen können?</p>
</blockquote>
<p>Wenn du Schueler und Klasse in Zeitleiste.h nur für die Pointer in den Vectoren benötigst, reicht statt den beiden includes einfach</p>
<pre><code>class Klasse;
class Schueler;
</code></pre>
<p>vor den vector-Definitionen. Dann kannst du Zeitleiste.h ohne Probleme benutzen.</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923277</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 08 Jul 2010 12:47:10 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 12:56:19 GMT]]></title><description><![CDATA[<p>die pointer sollen aber immer auf eine bestimmte menge von objekten zeigen.</p>
<p>so sind das doch dann pointer auf unterschiedliche objekttype. einmal auf schueler1 und einmal auf schueler2.</p>
<p>ich hatte die idee das ganze mit voidpointern zu umgehen aber sobald ich dass eine variable des objekts benutzen will muss ich den pointer zurückcasten und bräuchte wieder einen include.<br />
daher geht das auchnicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923284</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 12:56:19 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:05:53 GMT]]></title><description><![CDATA[<p>wsxedcrfv schrieb:</p>
<blockquote>
<p>die pointer sollen aber immer auf eine bestimmte menge von objekten zeigen.</p>
<p>so sind das doch dann pointer auf unterschiedliche objekttype. einmal auf schueler1 und einmal auf schueler2.</p>
<p>ich hatte die idee das ganze mit voidpointern zu umgehen aber sobald ich dass eine variable des objekts benutzen will muss ich den pointer zurückcasten und bräuchte wieder einen include.<br />
daher geht das auchnicht.</p>
</blockquote>
<p>Das ist kein Problem. Zeiger sind immer gleich groß, daher reicht eine Vorwärtsdeklaration aus. Es muss nur bekannt sein, dass überhaupt der Objekttyp existiert auf den gezeigt werden soll.</p>
<p>Das Include brauchst du erst, wenn mit den Zeigern tatsächlich gearbeitet werden soll, aber das ist dann ja üblicherweise in der Source-Datei und nicht im Header.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923289</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:05:53 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:07:00 GMT]]></title><description><![CDATA[<p>wsxedcrfv schrieb:</p>
<blockquote>
<p>die pointer sollen aber immer auf eine bestimmte menge von objekten zeigen.</p>
<p>so sind das doch dann pointer auf unterschiedliche objekttype. einmal auf schueler1 und einmal auf schueler2.</p>
<p>ich hatte die idee das ganze mit voidpointern zu umgehen aber sobald ich dass eine variable des objekts benutzen will muss ich den pointer zurückcasten und bräuchte wieder einen include.<br />
daher geht das auchnicht.</p>
</blockquote>
<p>Ich verstehe nicht, was du meinst. Wenn du</p>
<pre><code>class Kurs;
class Schueler; 

vector&lt;Kurs*&gt; kurse;
vector&lt;pair&lt;string/*fach*/,Schueler*&gt;  &gt; zuvs;
</code></pre>
<p>schreibst, ändert sich logisch gesehen nichts gegenüber deinem Code.</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923291</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:07:00 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:09:53 GMT]]></title><description><![CDATA[<p>also in der cpp-datei kann ich ohne probleme den header einbinden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923297</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:09:53 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:10:39 GMT]]></title><description><![CDATA[<p>wsxedcrfv schrieb:</p>
<blockquote>
<p>also in der cpp-datei kann ich ohne probleme den header einbinden?</p>
</blockquote>
<p>Klar, warum nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923298</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:16:16 GMT]]></title><description><![CDATA[<p>ok dann danke an alle.</p>
<p>warub gibt es eigendlich den fehler wenn ich den header in schueler.h einbinde?<br />
ich habe in jedem header</p>
<pre><code>#ifndef SCHUELER_H_
#define SCHUELER_H_
#endif
</code></pre>
<p>sowas stehen damit ein header nur einmal eingebunden wird...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923303</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:33:52 GMT]]></title><description><![CDATA[<p>wie kann ich eigebdlich sichergehen, dass ich in der quelldatei die klasse Kurs aus Kurs.h und nicht die klasse Kurs aus Schueler.h benutze?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923315</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:33:52 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:38:22 GMT]]></title><description><![CDATA[<p>Namespaces.</p>
<p>EDIT: Aber warum gibt es das zweimal?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923318</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:38:22 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:46:40 GMT]]></title><description><![CDATA[<p>wsxedcrfv schrieb:</p>
<blockquote>
<p>wie kann ich eigebdlich sichergehen, dass ich in der quelldatei die klasse Kurs aus Kurs.h und nicht die klasse Kurs aus Schueler.h benutze?</p>
</blockquote>
<p>Irgendwie machst du da merkwürdige Dinge. Wieso gibt es mehrere Klassen mit Namen Kurs? Oder verwechselst du jetzt Klasse und Objekt?</p>
<p>Lars</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923322</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:46:40 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:50:05 GMT]]></title><description><![CDATA[<p>ich habe das problem, dass ich in<br />
Schueler.h<br />
#include &quot;Kurs.h&quot;<br />
stehen hatte und in<br />
Kurs.h<br />
#include &quot;Schueler.h&quot;.<br />
das hat fehler verursacht und mir wurde geraten ich soll in Schueler.h eine neue klasse Kurs erzeugen und in der quelldatei Schueler.cpp einbinden.</p>
<p>das Problem mit namespaces wäre doch, wenn ich in Schueler.h in einem namespace die klasse Kurs aus Schueler.h benutze, eine Funktion (mit einem parameter vom typ Kurs) erzeuge und dann in der quelldatei die andere klasse benutzen will (Kurs aus Kurs.h). würde ich dann nicht wieder fürd den parameter der funktion Kurs aus Schueler.h benutzen müssen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923323</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:50:05 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 13:52:48 GMT]]></title><description><![CDATA[<p>@manni66<br />
ich habe zwei klassen mit identischen namen.<br />
wie du mir geraten hast.<br />
oder hatte ich dich da falsch verstanden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923326</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 13:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 14:01:19 GMT]]></title><description><![CDATA[<p>wsxedcrfv schrieb:</p>
<blockquote>
<p>@manni66<br />
ich habe zwei klassen mit identischen namen.<br />
wie du mir geraten hast.<br />
oder hatte ich dich da falsch verstanden?</p>
</blockquote>
<pre><code class="language-cpp">class Kurs;
</code></pre>
<p>Deklariert keine Klasse Kurs (zumindest nicht richtig). Das gibt nur bekannt, dass es irgendwo eine Deklaration der Klasse Kurs gibt. Damit kann man zwar nicht viel anfangen, aber es reicht um Zeiger auf Kurs zu haben (da ja bekannt ist, dass es eine Klasse Kurs gibt, auch wenn nicht bekannt ist wie sie aussieht). Das ganze nennt man eine <em>Vorwärtsdeklaration</em>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923331</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Jul 2010 14:01:19 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 14:01:32 GMT]]></title><description><![CDATA[<p>Du hast es absolut falsch verstanden.</p>
<p>Kurs.h:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

class Schueler;

class Kurs
{
  std::vector&lt;Schueler*&gt; teilnehmer;

};
</code></pre>
<p>Schueler.h:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;

class Kurs;

class Schueler
{
  std::vector&lt;Kurs*&gt; kurse;
};
</code></pre>
<p><a href="http://Schueler.cc" rel="nofollow">Schueler.cc</a>:</p>
<pre><code class="language-cpp">#include &quot;Schueler.h&quot;
#include &quot;Kurs.h&quot;

Schueler::Schuler()
{
  kurse.push_back(new Kurs(&quot;wasauchimmer&quot;));
}
</code></pre>
<p>... hab mal ein paar Definitionen etc weggelassen, bin faul.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923332</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 08 Jul 2010 14:01:32 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 14:11:04 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class Kurs;
</code></pre>
<p>Deklariert keine Klasse Kurs (zumindest nicht richtig). Das gibt nur bekannt, dass es irgendwo eine Deklaration der Klasse Kurs gibt. Damit kann man zwar nicht viel anfangen, aber es reicht um Zeiger auf Kurs zu haben (da ja bekannt ist, dass es eine Klasse Kurs gibt, auch wenn nicht bekannt ist wie sie aussieht). Das ganze nennt man eine <em>Vorwärtsdeklaration</em>.</p>
</blockquote>
<p>ah ok das wusste ich nicht.....<br />
dnke an alle</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17700">@Fellhuhn</a><br />
hab ich jetzt auch bemerkt^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923341</guid><dc:creator><![CDATA[wsxedcrfv]]></dc:creator><pubDate>Thu, 08 Jul 2010 14:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit include on Thu, 08 Jul 2010 16:32:48 GMT]]></title><description><![CDATA[<p>Wie immer zu dem Thema poste ich gerne den Link:<br />
<a href="http://www.drakon.ch/?id=&amp;offset=5&amp;mobile=0&amp;show_entry=77" rel="nofollow">Definitionen und Deklarationen in C++</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923406</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 08 Jul 2010 16:32:48 GMT</pubDate></item></channel></rss>