<?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[Probleme mit Template Klasse]]></title><description><![CDATA[<p>Hi,<br />
Ich hab ein großes Problem,welches ich einfach nicht gelöst bekomme. Probier jetzt schon den ganzen Tag, kam aber zu nichts ausser zu noch mehr Fehlern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .<br />
Vielleicht kann mir jemand helfen.</p>
<p>Es geht um diese Template Klasse: (srolp_dll.h)</p>
<pre><code class="language-cpp">namespace SROLP {
	template &lt;typename T, int Groesse&gt;
	class TArray {
	private:
		T objekte[Groesse];
	public:
		TArray();
		T * getObjekt(int Index);
		void setObjekt(const T Objekt, int Index);
		int setArrayByOtherArray(T * otherArray,WORD length);
	};
};
</code></pre>
<p>Die Implementation hab ich ausgelagert in die Datei srolp_dll.cpp:</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;srolp_dll.h&quot;

	// Klasse TArray

	template &lt;typename T, int Groesse&gt;
	SROLP::TArray&lt;T,Groesse&gt;::TArray() {
		ZeroMemory(&amp;objekte[0],Groesse*(sizeof(T)));
	}
	template &lt;typename T, int Groesse&gt;
	T * SROLP::TArray&lt;T,Groesse&gt;::getObjekt(int Index) {
		return &amp;objekte[Index];
	}
	template &lt;typename T, int Groesse&gt;
	void SROLP::TArray&lt;T,Groesse&gt;::setObjekt(const T Objekt, int Index) {
		objekte[Index] = Objekt;
	}
	template &lt;typename T, int Groesse&gt;
	int SROLP::TArray&lt;T,Groesse&gt;::setArrayByOtherArray(T * otherArray,WORD readlen) {
		int errorcode = 0;
		for (int i = 0;i&lt;readlen;i++)
			memcpy(&amp;objekte[i],otherArray+(i*sizeof(T)),sizeof(T));
		return errorcode;
	}
</code></pre>
<p>Anschließend wollte ich ein Objekt dieser Klasse instanzieren: (main.cpp)</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;..\..\SROLP\SROLP\srolp_dll.cpp&quot;

int _tmain(int argc, _TCHAR* argv[]) {
	TArray&lt;UINT,40&gt; item;
	return 0;
}
</code></pre>
<p>nach dem Start des Compilers kommt es zu folgendem Fehler:</p>
<blockquote>
<p>1&gt;h:\projects\srolp\srolp\srolp_dll.h(64) : error C2953: &quot;SROLP::TArray&quot;: Klassenvorlage wurde bereits definiert.<br />
1&gt; h:\projects\srolp\srolp\srolp_dll.h(56): Siehe Deklaration von 'SROLP::TArray'</p>
</blockquote>
<p>Hab einfach keine Idee was ich noch machen sollte.</p>
<p>Hier noch der vorkompelierte Headerfile:</p>
<pre><code class="language-cpp">// stdafx.h : Includedatei für Standardsystem-Includedateien
// oder häufig verwendete projektspezifische Includedateien,
// die nur in unregelmäßigen Abständen geändert werden.
//

#pragma once

// SROLP - Login Server

#define SHOW_OUTPUT true
#define SHOW_INPUT true

#define ANZ_EVENT

// Winsocket 2.0

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

// Basic Modules

#include &lt;windows.h&gt;
#include &lt;winsock2.h&gt;
#include &lt;ws2tcpip.h&gt;
#include &lt;winhttp.h&gt;
#include &lt;iphlpapi.h&gt;

// MySQL

#include &quot;C:\Programme\MySQL\MySQL Server 5.0\include\mysql.h&quot;

// Standard

#include &quot;targetver.h&quot;
#include &lt;stdio.h&gt;
#include &lt;tchar.h&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;iostream&gt;

// TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.
</code></pre>
<p>Compiler: VS 2008 PE</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244082/probleme-mit-template-klasse</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 02:08:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244082.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Jun 2009 19:32:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Template Klasse on Wed, 24 Jun 2009 19:32:45 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich hab ein großes Problem,welches ich einfach nicht gelöst bekomme. Probier jetzt schon den ganzen Tag, kam aber zu nichts ausser zu noch mehr Fehlern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .<br />
Vielleicht kann mir jemand helfen.</p>
<p>Es geht um diese Template Klasse: (srolp_dll.h)</p>
<pre><code class="language-cpp">namespace SROLP {
	template &lt;typename T, int Groesse&gt;
	class TArray {
	private:
		T objekte[Groesse];
	public:
		TArray();
		T * getObjekt(int Index);
		void setObjekt(const T Objekt, int Index);
		int setArrayByOtherArray(T * otherArray,WORD length);
	};
};
</code></pre>
<p>Die Implementation hab ich ausgelagert in die Datei srolp_dll.cpp:</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;srolp_dll.h&quot;

	// Klasse TArray

	template &lt;typename T, int Groesse&gt;
	SROLP::TArray&lt;T,Groesse&gt;::TArray() {
		ZeroMemory(&amp;objekte[0],Groesse*(sizeof(T)));
	}
	template &lt;typename T, int Groesse&gt;
	T * SROLP::TArray&lt;T,Groesse&gt;::getObjekt(int Index) {
		return &amp;objekte[Index];
	}
	template &lt;typename T, int Groesse&gt;
	void SROLP::TArray&lt;T,Groesse&gt;::setObjekt(const T Objekt, int Index) {
		objekte[Index] = Objekt;
	}
	template &lt;typename T, int Groesse&gt;
	int SROLP::TArray&lt;T,Groesse&gt;::setArrayByOtherArray(T * otherArray,WORD readlen) {
		int errorcode = 0;
		for (int i = 0;i&lt;readlen;i++)
			memcpy(&amp;objekte[i],otherArray+(i*sizeof(T)),sizeof(T));
		return errorcode;
	}
</code></pre>
<p>Anschließend wollte ich ein Objekt dieser Klasse instanzieren: (main.cpp)</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;..\..\SROLP\SROLP\srolp_dll.cpp&quot;

int _tmain(int argc, _TCHAR* argv[]) {
	TArray&lt;UINT,40&gt; item;
	return 0;
}
</code></pre>
<p>nach dem Start des Compilers kommt es zu folgendem Fehler:</p>
<blockquote>
<p>1&gt;h:\projects\srolp\srolp\srolp_dll.h(64) : error C2953: &quot;SROLP::TArray&quot;: Klassenvorlage wurde bereits definiert.<br />
1&gt; h:\projects\srolp\srolp\srolp_dll.h(56): Siehe Deklaration von 'SROLP::TArray'</p>
</blockquote>
<p>Hab einfach keine Idee was ich noch machen sollte.</p>
<p>Hier noch der vorkompelierte Headerfile:</p>
<pre><code class="language-cpp">// stdafx.h : Includedatei für Standardsystem-Includedateien
// oder häufig verwendete projektspezifische Includedateien,
// die nur in unregelmäßigen Abständen geändert werden.
//

#pragma once

// SROLP - Login Server

#define SHOW_OUTPUT true
#define SHOW_INPUT true

#define ANZ_EVENT

// Winsocket 2.0

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

// Basic Modules

#include &lt;windows.h&gt;
#include &lt;winsock2.h&gt;
#include &lt;ws2tcpip.h&gt;
#include &lt;winhttp.h&gt;
#include &lt;iphlpapi.h&gt;

// MySQL

#include &quot;C:\Programme\MySQL\MySQL Server 5.0\include\mysql.h&quot;

// Standard

#include &quot;targetver.h&quot;
#include &lt;stdio.h&gt;
#include &lt;tchar.h&gt;
#include &lt;time.h&gt;
#include &lt;math.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;iostream&gt;

// TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.
</code></pre>
<p>Compiler: VS 2008 PE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732352</guid><dc:creator><![CDATA[Ramastuh]]></dc:creator><pubDate>Wed, 24 Jun 2009 19:32:45 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Template Klasse on Wed, 24 Jun 2009 20:32:34 GMT]]></title><description><![CDATA[<p>include guards verwenden gegen die mehrfach Definition wär ein vorschlag von mir. solltest hier im Forum einiges dazu finden. Zudem sieht dein include auch nicht gut aus. Template entweder in der gleichen Datei implementieren oder eine .inc am Schluß einbinden und dort die Implemtierung vornehmen, da VS kein export unterstützt fällt dies als Lösungsmöglichkeit hier weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732391</guid><dc:creator><![CDATA[123]]></dc:creator><pubDate>Wed, 24 Jun 2009 20:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Template Klasse on Wed, 24 Jun 2009 22:02:30 GMT]]></title><description><![CDATA[<p>Danke, jetzt gehts.</p>
<p>Gruß Ramastuh</p>
<p>PS: Hätte ich eig auch selber draufkommen müssen <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/1732435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732435</guid><dc:creator><![CDATA[Ramastuh]]></dc:creator><pubDate>Wed, 24 Jun 2009 22:02:30 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Template Klasse on Thu, 25 Jun 2009 13:58:12 GMT]]></title><description><![CDATA[<p>Ramastuh schrieb:</p>
<blockquote>
<p>Danke, jetzt gehts.</p>
<p>Gruß Ramastuh</p>
<p>PS: Hätte ich eig auch selber draufkommen müssen <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>
</blockquote>
<p>Hi.</p>
<p>Darf ich fragen was SRO bedeutet?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732714</guid><dc:creator><![CDATA[Interessierter]]></dc:creator><pubDate>Thu, 25 Jun 2009 13:58:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Template Klasse on Fri, 08 Jul 2011 01:44:25 GMT]]></title><description><![CDATA[<p>SRO steht für Silkroad Online (Das LP für Lan Project)</p>
<p>Gruß Ramastuh</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2090162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2090162</guid><dc:creator><![CDATA[Ramastuh]]></dc:creator><pubDate>Fri, 08 Jul 2011 01:44:25 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Template Klasse on Fri, 08 Jul 2011 06:18:04 GMT]]></title><description><![CDATA[<p>Ramastuh schrieb:</p>
<blockquote>
<p>SRO steht für Silkroad Online (Das LP für Lan Project)</p>
<p>Gruß Ramastuh</p>
</blockquote>
<p>Ob es ihn jetzt noch interessiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2090173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2090173</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 08 Jul 2011 06:18:04 GMT</pubDate></item></channel></rss>