<?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[Mehrfachdefinitionsproblem]]></title><description><![CDATA[<p>Ich programmiere gerade ein Programm, welches schon viele Funktionen enthält, die mir leichte Arbeiten, die aber oft benutzt werden (Stringoperatiionen) beinhaltet.</p>
<p>Da das schon ~ 400 Zeilen waren und ich sonst so viel hin und her Scrolle wollte ich diese Auslagern.</p>
<p>OK, ich habe vorher aber schon meine Klassen, die zum Speichern von Datenstrukturen dienen in einen Header namens &quot;Containerklassen.h&quot; ausgelagert.</p>
<p>Die neue Datei hieß dann &quot;Hilfsfunktionen.cpp&quot; die die Datei Hilfsfunktionen.h eingebunden hatte(welche wiederum Containerklassen.h einbinden musste, da einige Funktionen einen Pointer auf eine Klasse als Rückgabewert haben.).</p>
<p>Die Main Funktion hatte alle Header eingebunden.</p>
<p>Das Problem ist dieser Fehler:</p>
<pre><code>ParserHilfsFunktionen.obj : error LNK2005: &quot;class CointainerWM&quot; (?WM@@3VContainer@@A) ist bereits in main.obj definiert.
</code></pre>
<p>Wenn ich irgendwo die Definition herausnehme, erhalte ich Fehler, weil dort die Klasse nicht definiert ist.</p>
<p>Eigentlich dachte ich, dass es reicht jede Datei mit #pragma once zu beginnen.</p>
<p>Gelöst habe ich das Problem nun dadurch, dass ich Hilfsfunktionen.cpp einfach in Hilfsfunktionen.h umbenannt habe und nun an der Stelle, an der vorher die Funktionen waren includiere.<br />
Das habe ich schon vorher so gemacht, bevor ich Projekte auf meherere .cpp Dateien aufgeteilt habe, aber die Saubere Art ist es nicht. Wie kann ich das nun sauber aufteilen???<br />
So dass ich wirklich keine Probleme mehr bekomme auch nicht, wenn ich aus Versehen die Reihenfolge meiner Includes ändere, was im Moment verdammt fatal enden würde.</p>
<p>Ich habe mir dazu schon eine Menge durchgelesen, aber irgendwie weiß ich immer noch nicht, wie ich das Problem lösen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/143441/mehrfachdefinitionsproblem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 13:42:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/143441.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Apr 2006 15:18:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrfachdefinitionsproblem on Sat, 08 Apr 2006 15:18:42 GMT]]></title><description><![CDATA[<p>Ich programmiere gerade ein Programm, welches schon viele Funktionen enthält, die mir leichte Arbeiten, die aber oft benutzt werden (Stringoperatiionen) beinhaltet.</p>
<p>Da das schon ~ 400 Zeilen waren und ich sonst so viel hin und her Scrolle wollte ich diese Auslagern.</p>
<p>OK, ich habe vorher aber schon meine Klassen, die zum Speichern von Datenstrukturen dienen in einen Header namens &quot;Containerklassen.h&quot; ausgelagert.</p>
<p>Die neue Datei hieß dann &quot;Hilfsfunktionen.cpp&quot; die die Datei Hilfsfunktionen.h eingebunden hatte(welche wiederum Containerklassen.h einbinden musste, da einige Funktionen einen Pointer auf eine Klasse als Rückgabewert haben.).</p>
<p>Die Main Funktion hatte alle Header eingebunden.</p>
<p>Das Problem ist dieser Fehler:</p>
<pre><code>ParserHilfsFunktionen.obj : error LNK2005: &quot;class CointainerWM&quot; (?WM@@3VContainer@@A) ist bereits in main.obj definiert.
</code></pre>
<p>Wenn ich irgendwo die Definition herausnehme, erhalte ich Fehler, weil dort die Klasse nicht definiert ist.</p>
<p>Eigentlich dachte ich, dass es reicht jede Datei mit #pragma once zu beginnen.</p>
<p>Gelöst habe ich das Problem nun dadurch, dass ich Hilfsfunktionen.cpp einfach in Hilfsfunktionen.h umbenannt habe und nun an der Stelle, an der vorher die Funktionen waren includiere.<br />
Das habe ich schon vorher so gemacht, bevor ich Projekte auf meherere .cpp Dateien aufgeteilt habe, aber die Saubere Art ist es nicht. Wie kann ich das nun sauber aufteilen???<br />
So dass ich wirklich keine Probleme mehr bekomme auch nicht, wenn ich aus Versehen die Reihenfolge meiner Includes ändere, was im Moment verdammt fatal enden würde.</p>
<p>Ich habe mir dazu schon eine Menge durchgelesen, aber irgendwie weiß ich immer noch nicht, wie ich das Problem lösen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033299</guid><dc:creator><![CDATA[Freak5]]></dc:creator><pubDate>Sat, 08 Apr 2006 15:18:42 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachdefinitionsproblem on Sat, 08 Apr 2006 20:02:29 GMT]]></title><description><![CDATA[<p>Eine globale Variable war nicht extern .<br />
Kann mir vielleicht jemand ein ordentlichen C++ Buch empfehlen?<br />
C++ Wochenend Chrashcurs von Stephen R. Davis habe ich bis jetzt gelesen und viel Internettutorials...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033472</guid><dc:creator><![CDATA[Freak5]]></dc:creator><pubDate>Sat, 08 Apr 2006 20:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrfachdefinitionsproblem on Sun, 09 Apr 2006 15:45:11 GMT]]></title><description><![CDATA[<p>Richte deinen BLick nach oben auf dem Bildschirm^^ Da gibts nen Link zur Bücherrezession. <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="🙂"
    /> Evtl sagt dir ja da was zu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1033908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1033908</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Sun, 09 Apr 2006 15:45:11 GMT</pubDate></item></channel></rss>