<?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[LNK1169 wegen Speicherzuweisung im Konstruktor]]></title><description><![CDATA[<p>Servus,<br />
ich habe mir untenstehendes geschrieben.<br />
Mein Problem ist die Fehlermeldung:<br />
fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden</p>
<p>Ich vermute, dass es deshalb nicht funktioniert, weil ich im Konstruktor Speicher an den Zeiger zuweise. Ich bin mir aber nicht sicher, da es ja auch verschiedene Objekte sind, die erstellt werden.</p>
<p>Meine Fragen:<br />
Stimmt was ich mir zusammengereimt habe<br />
und wie kann ich das verhindern</p>
<pre><code class="language-cpp">// Bibliothek zur Ausgabe der Testdaten in einer Tabelle

#include &quot;stdafx.h&quot;

#include &lt;vector&gt;
#include &lt;afx.h&gt;
#include &quot;CSpreadSheet.h&quot;

using namespace std;

class Ausgabe
{
public:
	int Auslesen(int n);
	int DateiKopieren(string Filename);
	BOOL TabelleAnzeigen(CListCtrl* List,int n);

	Ausgabe(string Filename);
	~Ausgabe();

	CString Hersteller,Typ,Nennspannung,Nennstrom,Pack,Kommentar;
	CString str_StatIGBTRth,str_StatDiodeRth,str_StatModulRth;
	vector&lt;double&gt; vc_TransIGBTRth,vc_TransIGBTTau,vc_TransDiodeRth,vc_TransDiodeTau;

	double d_StatIGBTUt,d_StatIGBTrt,d_StatDiodeUt,d_StatDiodert;

	CString LastError;
	CSpreadSheet *Sheet;
};
</code></pre>
<pre><code class="language-cpp">//Öffnet die angegebene Datei für weitere Bearbeitung
Ausgabe::Ausgabe(string Filename) : Sheet(NULL)
{
	Sheet = new CSpreadSheet(Filename.c_str(),&quot;;&quot;,FALSE);
	//CSpreadSheet Sheet(Filename.c_str(),&quot;;&quot;,FALSE);
	//LastError = Sheet-&gt;GetLastError();
}

Ausgabe::~Ausgabe()
{
	delete Sheet;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/183354/lnk1169-wegen-speicherzuweisung-im-konstruktor</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 04:04:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183354.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 04 Jun 2007 10:44:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 10:44:31 GMT]]></title><description><![CDATA[<p>Servus,<br />
ich habe mir untenstehendes geschrieben.<br />
Mein Problem ist die Fehlermeldung:<br />
fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden</p>
<p>Ich vermute, dass es deshalb nicht funktioniert, weil ich im Konstruktor Speicher an den Zeiger zuweise. Ich bin mir aber nicht sicher, da es ja auch verschiedene Objekte sind, die erstellt werden.</p>
<p>Meine Fragen:<br />
Stimmt was ich mir zusammengereimt habe<br />
und wie kann ich das verhindern</p>
<pre><code class="language-cpp">// Bibliothek zur Ausgabe der Testdaten in einer Tabelle

#include &quot;stdafx.h&quot;

#include &lt;vector&gt;
#include &lt;afx.h&gt;
#include &quot;CSpreadSheet.h&quot;

using namespace std;

class Ausgabe
{
public:
	int Auslesen(int n);
	int DateiKopieren(string Filename);
	BOOL TabelleAnzeigen(CListCtrl* List,int n);

	Ausgabe(string Filename);
	~Ausgabe();

	CString Hersteller,Typ,Nennspannung,Nennstrom,Pack,Kommentar;
	CString str_StatIGBTRth,str_StatDiodeRth,str_StatModulRth;
	vector&lt;double&gt; vc_TransIGBTRth,vc_TransIGBTTau,vc_TransDiodeRth,vc_TransDiodeTau;

	double d_StatIGBTUt,d_StatIGBTrt,d_StatDiodeUt,d_StatDiodert;

	CString LastError;
	CSpreadSheet *Sheet;
};
</code></pre>
<pre><code class="language-cpp">//Öffnet die angegebene Datei für weitere Bearbeitung
Ausgabe::Ausgabe(string Filename) : Sheet(NULL)
{
	Sheet = new CSpreadSheet(Filename.c_str(),&quot;;&quot;,FALSE);
	//CSpreadSheet Sheet(Filename.c_str(),&quot;;&quot;,FALSE);
	//LastError = Sheet-&gt;GetLastError();
}

Ausgabe::~Ausgabe()
{
	delete Sheet;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1298326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298326</guid><dc:creator><![CDATA[etsmart]]></dc:creator><pubDate>Mon, 04 Jun 2007 10:44:31 GMT</pubDate></item><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 11:27:00 GMT]]></title><description><![CDATA[<p>Das liegt nicht daran. Kann es sein, dass Du die angegebene Funktion tatsächlich mehrfach definiert hast?<br />
Hast Du evtl. die CPP Datei in ein anderes Modul per #include eingefügt?</p>
<p>Wir lautet die Meldung genau?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1298372</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298372</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 04 Jun 2007 11:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 11:44:40 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Linker-Vorgang läuft...
ChVersimFilesView.obj : error LNK2005: &quot;public: __thiscall CSpreadSheet::CSpreadSheet(class CString,class CString,bool)&quot; (??0CSpreadSheet@@QAE@VCString@@0_N@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: __thiscall CSpreadSheet::~CSpreadSheet(void)&quot; (??1CSpreadSheet@@QAE@XZ) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddHeaders(class CStringArray &amp;,bool)&quot; (?AddHeaders@CSpreadSheet@@QAE_NAAVCStringArray@@_N@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::DeleteSheet(void)&quot; (?DeleteSheet@CSpreadSheet@@QAE_NXZ) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::DeleteSheet(class CString)&quot; (?DeleteSheet@CSpreadSheet@@QAE_NVCString@@@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddRow(class CStringArray &amp;,long,bool)&quot; (?AddRow@CSpreadSheet@@QAE_NAAVCStringArray@@J_N@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddCell(class CString,class CString,long,bool)&quot; (?AddCell@CSpreadSheet@@QAE_NVCString@@0J_N@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddCell(class CString,short,long)&quot; (?AddCell@CSpreadSheet@@QAE_NVCString@@FJ@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReplaceRows(class CStringArray &amp;,class CStringArray &amp;)&quot; (?ReplaceRows@CSpreadSheet@@QAE_NAAVCStringArray@@0@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadRow(class CStringArray &amp;,long)&quot; (?ReadRow@CSpreadSheet@@QAE_NAAVCStringArray@@J@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadColumn(class CStringArray &amp;,class CString,bool)&quot; (?ReadColumn@CSpreadSheet@@QAE_NAAVCStringArray@@VCString@@_N@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadColumn(class CStringArray &amp;,short)&quot; (?ReadColumn@CSpreadSheet@@QAE_NAAVCStringArray@@F@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadCell(class CString &amp;,class CString,long,bool)&quot; (?ReadCell@CSpreadSheet@@QAE_NAAVCString@@V2@J_N@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadCell(class CString &amp;,short,long)&quot; (?ReadCell@CSpreadSheet@@QAE_NAAVCString@@FJ@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: void __thiscall CSpreadSheet::BeginTransaction(void)&quot; (?BeginTransaction@CSpreadSheet@@QAEXXZ) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::Commit(void)&quot; (?Commit@CSpreadSheet@@QAE_NXZ) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::RollBack(void)&quot; (?RollBack@CSpreadSheet@@QAE_NXZ) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::Convert(class CString)&quot; (?Convert@CSpreadSheet@@QAE_NVCString@@@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;private: bool __thiscall CSpreadSheet::Open(void)&quot; (?Open@CSpreadSheet@@AAE_NXZ) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;private: short __thiscall CSpreadSheet::CalculateColumnNumber(class CString,bool)&quot; (?CalculateColumnNumber@CSpreadSheet@@AAEFVCString@@_N@Z) bereits in Ausgabe.obj definiert
ChVersimFilesView.obj : error LNK2005: &quot;private: void __thiscall CSpreadSheet::GetExcelDriver(void)&quot; (?GetExcelDriver@CSpreadSheet@@AAEXXZ) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: __thiscall CSpreadSheet::CSpreadSheet(class CString,class CString,bool)&quot; (??0CSpreadSheet@@QAE@VCString@@0_N@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: __thiscall CSpreadSheet::~CSpreadSheet(void)&quot; (??1CSpreadSheet@@QAE@XZ) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddHeaders(class CStringArray &amp;,bool)&quot; (?AddHeaders@CSpreadSheet@@QAE_NAAVCStringArray@@_N@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::DeleteSheet(void)&quot; (?DeleteSheet@CSpreadSheet@@QAE_NXZ) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::DeleteSheet(class CString)&quot; (?DeleteSheet@CSpreadSheet@@QAE_NVCString@@@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddRow(class CStringArray &amp;,long,bool)&quot; (?AddRow@CSpreadSheet@@QAE_NAAVCStringArray@@J_N@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddCell(class CString,class CString,long,bool)&quot; (?AddCell@CSpreadSheet@@QAE_NVCString@@0J_N@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::AddCell(class CString,short,long)&quot; (?AddCell@CSpreadSheet@@QAE_NVCString@@FJ@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReplaceRows(class CStringArray &amp;,class CStringArray &amp;)&quot; (?ReplaceRows@CSpreadSheet@@QAE_NAAVCStringArray@@0@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadRow(class CStringArray &amp;,long)&quot; (?ReadRow@CSpreadSheet@@QAE_NAAVCStringArray@@J@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadColumn(class CStringArray &amp;,class CString,bool)&quot; (?ReadColumn@CSpreadSheet@@QAE_NAAVCStringArray@@VCString@@_N@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadColumn(class CStringArray &amp;,short)&quot; (?ReadColumn@CSpreadSheet@@QAE_NAAVCStringArray@@F@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadCell(class CString &amp;,class CString,long,bool)&quot; (?ReadCell@CSpreadSheet@@QAE_NAAVCString@@V2@J_N@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::ReadCell(class CString &amp;,short,long)&quot; (?ReadCell@CSpreadSheet@@QAE_NAAVCString@@FJ@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: void __thiscall CSpreadSheet::BeginTransaction(void)&quot; (?BeginTransaction@CSpreadSheet@@QAEXXZ) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::Commit(void)&quot; (?Commit@CSpreadSheet@@QAE_NXZ) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::RollBack(void)&quot; (?RollBack@CSpreadSheet@@QAE_NXZ) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;public: bool __thiscall CSpreadSheet::Convert(class CString)&quot; (?Convert@CSpreadSheet@@QAE_NVCString@@@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;private: bool __thiscall CSpreadSheet::Open(void)&quot; (?Open@CSpreadSheet@@AAE_NXZ) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;private: short __thiscall CSpreadSheet::CalculateColumnNumber(class CString,bool)&quot; (?CalculateColumnNumber@CSpreadSheet@@AAEFVCString@@_N@Z) bereits in Ausgabe.obj definiert
LeftView.obj : error LNK2005: &quot;private: void __thiscall CSpreadSheet::GetExcelDriver(void)&quot; (?GetExcelDriver@CSpreadSheet@@AAEXXZ) bereits in Ausgabe.obj definiert
Debug/ChVersimFiles.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Fehler beim Ausführen von link.exe.

ChVersimFiles.exe - 43 Fehler, 0 Warnung(en)
</code></pre>
<p>CSpreadSheet.h -&gt; Ausgabe.h -&gt; LeftView.h und ChVersimFilesView.h<br />
cpp einbinden mach ich nicht, zumindest nicht bewusst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1298393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298393</guid><dc:creator><![CDATA[etsmart]]></dc:creator><pubDate>Mon, 04 Jun 2007 11:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 11:51:44 GMT]]></title><description><![CDATA[<p>Und wie ist CSpreadSheet::CSpreadSheet definiert in cspreadsheet.h?<br />
Wahrschienlich nicht in der Klasse selbst, sondern danach und inline wurde nicht angegeben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1298410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298410</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 04 Jun 2007 11:51:44 GMT</pubDate></item><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 12:00:15 GMT]]></title><description><![CDATA[<p>Ich hab jetzt alles Inline gemacht, was angemerkt wurde. Vielleicht kein sauberer Weg, aber klappt.</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1298420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298420</guid><dc:creator><![CDATA[etsmart]]></dc:creator><pubDate>Mon, 04 Jun 2007 12:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 12:12:31 GMT]]></title><description><![CDATA[<p>Nein, wirklich sauber ist es nicht. Besser du lässt im Header NUR die Deklarationen stehen und lagerst die Funktionsdefinitionen aus in die zugehörige CPP-Datei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1298438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298438</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 04 Jun 2007 12:12:31 GMT</pubDate></item><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 12:38:30 GMT]]></title><description><![CDATA[<p>Hab ich gemacht, ist ja der Grundaufbau bei einem neu angelegten Projekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1298467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298467</guid><dc:creator><![CDATA[etsmart]]></dc:creator><pubDate>Mon, 04 Jun 2007 12:38:30 GMT</pubDate></item><item><title><![CDATA[Reply to LNK1169 wegen Speicherzuweisung im Konstruktor on Mon, 04 Jun 2007 13:04:40 GMT]]></title><description><![CDATA[<p>Kann nicht sein. Dann hättest Du den Linker Fehler nicht.<br />
Der Konstruktor und die anderen Funktionen sind zweimal in Deinen Files definiert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1298497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1298497</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 04 Jun 2007 13:04:40 GMT</pubDate></item></channel></rss>