<?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[Fehler bei Klasse in eigener Datei]]></title><description><![CDATA[<p>Hi,<br />
ich habe an einer Klasse gearbeitet, die bis jetzt in der gleichen Datei wie die main()-Funktion war. Nun wollte ich die Klasse in einer eigenen Datei haben, aber da gibt es sehr viele Probleme. Da der Code ein bisschen zu lang und die Fehler zu viele sind, um sie hier zu posten, habe ich das gesamte VC++-Projekt auf einen Server geladen.<br />
Wer möchte kann sich das ja mal anschauen...</p>
<p>[url] <a href="http://www.lanwarscript.space4free.net/filehandling.zip" rel="nofollow">www.lanwarscript.space4free.net/filehandling.zip</a> [/url]</p>
<p>MfG, Neo2k3</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/117989/fehler-bei-klasse-in-eigener-datei</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 05:21:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/117989.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Aug 2005 12:10:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 12:10:39 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich habe an einer Klasse gearbeitet, die bis jetzt in der gleichen Datei wie die main()-Funktion war. Nun wollte ich die Klasse in einer eigenen Datei haben, aber da gibt es sehr viele Probleme. Da der Code ein bisschen zu lang und die Fehler zu viele sind, um sie hier zu posten, habe ich das gesamte VC++-Projekt auf einen Server geladen.<br />
Wer möchte kann sich das ja mal anschauen...</p>
<p>[url] <a href="http://www.lanwarscript.space4free.net/filehandling.zip" rel="nofollow">www.lanwarscript.space4free.net/filehandling.zip</a> [/url]</p>
<p>MfG, Neo2k3</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851489</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Sat, 13 Aug 2005 12:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 12:17:18 GMT]]></title><description><![CDATA[<p>Habe folgendes in FileHandling.cpp gefunden</p>
<pre><code class="language-cpp">#include &quot;myheader.h&quot;
#include &quot;InOut.cpp&quot;
#include &quot;Evaluation.cpp&quot;
</code></pre>
<p>Implementation Files werden nicht includiert. Habe mir den gesamtem code nicht angesehen. Das dürfte aber dein Problem sein.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851497</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 13 Aug 2005 12:17:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 12:35:56 GMT]]></title><description><![CDATA[<p>Dadurch konnte ich die Fehleranzahl zwar etwas eindämmen, aber es will trotzdem noch nicht so recht.</p>
<p>Ich habe in FileHandling.cpp die includings gelöscht - bis auf &quot;myheader.h&quot;. In den anderen .cpp-Files habe ich &quot;myheader.h&quot; hinzugefügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851509</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Sat, 13 Aug 2005 12:35:56 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 12:55:26 GMT]]></title><description><![CDATA[<p>Na dann sag mal welche Fehlermeldungen noch kommen.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851525</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 13 Aug 2005 12:55:26 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 12:56:30 GMT]]></title><description><![CDATA[<p>ich schreib jetzt mal etwas ungeordnet was mir zu dem code einfällt:</p>
<p>InOut.cpp</p>
<pre><code class="language-cpp">//InOut::InOut(const std::string TempPfad)
    //wenn du den Parameter per Wert übergibst, 
    //wird der ganze String unnötigerweise kopiert
    //eine Referenz reicht völlig:
InOut::InOut(const std::string&amp; TempPfad)  

//{
//	Pfad = TempPfad;
//}
    //Memberobjekte werden so initialisiert, wie es in der
    //Initialisierungsliste steht. In deinem Fall wird Pfad
    //also mit std::string(&quot;&quot;) initialisiert und später der
    //operator=() aufgerufen. Initialisiere die Variable gleich, um 
    //eine Operation einzusparen:
  : Pfad(TempPfad)
  {}
</code></pre>
<p>Filehandling.cpp:</p>
<ol>
<li>die &quot;#include onout.cpp&quot; mit &quot;#include inout.h&quot; ersetzen, ebenso bei der anderen datei</li>
<li>Die Klasse &quot;File&quot; in einem eigenen header definieren udn in einer eigenen cpp implementieren</li>
</ol>
<p>myheader.h und Evaluation.h:</p>
<ol>
<li>in Evaluation.h ist das struct stats nicht bekannt. es müsste daher myheader.h includiert werden.</li>
</ol>
<p>ABER:<br />
myheader.h ist eigentlich ziemlich sinnlos. packe die definition des structs mit in evaluation.h (hat ja ne menge damit zu tun; vielleicht packst dus als subklasse public IN die Klassendefinition von Evaluation)<br />
Die Art &quot;ich includiere einfach mal alles was ich irgendwo brauche in einem zentralen Header&quot; ist eine Unart, die bestenfalls die compilierung unnötig verlangsamt, schlimmstenfalls aber zu aufgeblähtem code führt und alles furchtbar unüberschtlich macht. Includiere das was du brauchst genau dort wo du es brauchst. eigene header vorzugsweise in den cpp-dateien, wenn sie nicht unnötig in den headern benötigt werden (wenn man im header nur die existenz einer klasse braucht, nicht aber ihre methoden, reicht eine forward-deklaration).</p>
<p>und: wenn du hier um hilfe fragst, weil dein compiler fehlermeldungen ausspuckt, ist es immer sinnvoll, diese fehlermeldungen mit zu posten. Das gibt nämlich schonmal einen guten vorgechmack, <em>wo</em> es hakt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851526</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 13 Aug 2005 12:56:30 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 15:18:24 GMT]]></title><description><![CDATA[<p>ok danke, dass ihr euch Zeit genommen habt. <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="🙂"
    /><br />
Klappt jetzt alles. Allerdings habe ich noch 9 Warnmeldungen, die die Vektoren betreffen. Ich weiss aber nicht wie ich sie beheben kann.</p>
<p>Kompilierung läuft...<br />
Evaluation.cpp<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::reverse_iterator,std::allocator &gt; const *,std::basic_string,std::allocator &gt;,std::basic_string,std::allocator &gt; const &amp;,std::basic_string,std::allocator &gt; const *,int&gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : Bei der Kompilierung der Member-Funktion '__thiscall std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;(const std::allocator,std::allocator &gt; &gt; &amp;)' der Klassenvorlage<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::reverse_iterator,std::allocator &gt; *,std::basic_string,std::allocator &gt;,std::basic_string,std::allocator &gt; &amp;,std::basic_string,std::allocator &gt; *,int&gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : Bei der Kompilierung der Member-Funktion '__thiscall std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;(const std::allocator,std::allocator &gt; &gt; &amp;)' der Klassenvorlage<br />
FileHandling.cpp<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt<br />
c:\programme\microsoft visual studio\vc98\include\vector(52) : warning C4786: 'std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt<br />
c:\programme\microsoft visual studio\vc98\include\vector(60) : warning C4786: 'std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::~vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::reverse_iterator,std::allocator &gt; const *,std::basic_string,std::allocator &gt;,std::basic_string,std::allocator &gt; const &amp;,std::basic_string,std::allocator &gt; const *,int&gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : Bei der Kompilierung der Member-Funktion '__thiscall std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;(const std::allocator,std::allocator &gt; &gt; &amp;)' der Klassenvorlage<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::reverse_iterator,std::allocator &gt; *,std::basic_string,std::allocator &gt;,std::basic_string,std::allocator &gt; &amp;,std::basic_string,std::allocator &gt; *,int&gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : Bei der Kompilierung der Member-Funktion '__thiscall std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;(const std::allocator,std::allocator &gt; &gt; &amp;)' der Klassenvorlage<br />
InOut.cpp<br />
c:\programme\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt<br />
c:\programme\microsoft visual studio\vc98\include\vector(60) : warning C4786: 'std::vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;::~vector,std::allocator &gt;,std::allocator,std::allocator &gt; &gt; &gt;' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt<br />
Linker-Vorgang läuft...</p>
<p>Also in meiner Dokumentation steht, dass dies nur den Bezeichner im Debugmodus betrifft, aber alles was hier über 255 Zeichen ist, sind die Inhalte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851573</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Sat, 13 Aug 2005 15:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 15:19:03 GMT]]></title><description><![CDATA[<p>PS: Hab das Projekt neu hochgeladen, Link steht oben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851574</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Sat, 13 Aug 2005 15:19:03 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 15:29:03 GMT]]></title><description><![CDATA[<p>Neo2k3 schrieb:</p>
<blockquote>
<p>Allerdings habe ich noch 9 Warnmeldungen, die die Vektoren betreffen. Ich weiss aber nicht wie ich sie beheben kann.</p>
</blockquote>
<p>Das kannst du nicht beheben. Wie du schon gesagt hast das liegt daran das Debug-symbole bei VC nur 255 zeichen lang sein können. Wenn Du STL verwendest bekommst du aber längere Symbole.<br />
Das einzige was du machen kannst ist diese Warnungen zu unterdrücken mit</p>
<pre><code>#pragma warning(disable:4786)
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851578</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Sat, 13 Aug 2005 15:29:03 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 15:29:32 GMT]]></title><description><![CDATA[<p>Diese Meldungen kannst/musst du ignorieren. Im Rahmen der STL wird die maximale<br />
Bezeichnerlänge überschritten.<br />
Das KANN zu Problemen für den Debugger führen hat aber sonst keinen Einfluss<br />
auf dein Programm.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/851579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851579</guid><dc:creator><![CDATA[Redhead]]></dc:creator><pubDate>Sat, 13 Aug 2005 15:29:32 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei Klasse in eigener Datei on Sat, 13 Aug 2005 15:44:20 GMT]]></title><description><![CDATA[<p>Jo danke, klappt. <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/851586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/851586</guid><dc:creator><![CDATA[Neo2k3]]></dc:creator><pubDate>Sat, 13 Aug 2005 15:44:20 GMT</pubDate></item></channel></rss>