<?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[Template Spezialisierung =&amp;gt; HILFE!]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich kämpfe gerade mit Templates und habe per Google und Co nicht wirklich verständliche Hilfe finden können.<br />
Mal ganz einfach gefragt: wie müsste folgender Code geändert werden, dass er kompiliert (Compiler=MSVC2005) ?</p>
<pre><code>template&lt;class T&gt; class X
{
public:
	X(){;};
	void Test( T &amp; i ) // soll für double, int... immer gleich sein
	{
		cout &lt;&lt; i &lt;&lt; endl;
	};
	void doOUT( T &amp; i ); // soll für double, int... unterschiedlich implementiert werden
};

template &lt;typename T&gt; void X&lt;int&gt;::doOUT( T &amp; i )
{
	cout &lt;&lt; 2*i &lt;&lt; endl;
};

template &lt;typename T&gt; void X&lt;double&gt;::doOUT( T &amp; i )
{
	cout &lt;&lt; 3.0*i &lt;&lt; endl;
};
</code></pre>
<p>grübel,grübel...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159439/template-spezialisierung-gt-hilfe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 15:01:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159439.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Sep 2006 05:52:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template Spezialisierung =&amp;gt; HILFE! on Fri, 15 Sep 2006 05:52:34 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich kämpfe gerade mit Templates und habe per Google und Co nicht wirklich verständliche Hilfe finden können.<br />
Mal ganz einfach gefragt: wie müsste folgender Code geändert werden, dass er kompiliert (Compiler=MSVC2005) ?</p>
<pre><code>template&lt;class T&gt; class X
{
public:
	X(){;};
	void Test( T &amp; i ) // soll für double, int... immer gleich sein
	{
		cout &lt;&lt; i &lt;&lt; endl;
	};
	void doOUT( T &amp; i ); // soll für double, int... unterschiedlich implementiert werden
};

template &lt;typename T&gt; void X&lt;int&gt;::doOUT( T &amp; i )
{
	cout &lt;&lt; 2*i &lt;&lt; endl;
};

template &lt;typename T&gt; void X&lt;double&gt;::doOUT( T &amp; i )
{
	cout &lt;&lt; 3.0*i &lt;&lt; endl;
};
</code></pre>
<p>grübel,grübel...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137712</guid><dc:creator><![CDATA[atlastraeger]]></dc:creator><pubDate>Fri, 15 Sep 2006 05:52:34 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung =&amp;gt; HILFE! on Fri, 15 Sep 2006 06:14:38 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Ich denke es müsste so gehen:</p>
<pre><code class="language-cpp">template &lt;&gt; void X&lt;int&gt;::doOUT( int &amp; i )
{
    cout &lt;&lt; 2*i &lt;&lt; endl;
}

template &lt;&gt; void X&lt;double&gt;::doOUT( double &amp; i )
{
    cout &lt;&lt; 3.0*i &lt;&lt; endl;
}
</code></pre>
<p>KaPtainCugel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137719</guid><dc:creator><![CDATA[KPC]]></dc:creator><pubDate>Fri, 15 Sep 2006 06:14:38 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung =&amp;gt; HILFE! on Fri, 15 Sep 2006 06:18:29 GMT]]></title><description><![CDATA[<p>Z.B: so:</p>
<pre><code class="language-cpp">template &lt;typename T&gt; class X
{
public:
	X () {}
	void Test (T&amp; i)
	{
		cout &lt;&lt; i &lt;&lt; endl;
	}
	void doOUT (T&amp; i);
};

template &lt;&gt; void X &lt;int&gt;::doOUT (int&amp; i)
{
	cout &lt;&lt; 2 * i &lt;&lt; endl;
}

template &lt;&gt; void X &lt;double&gt;::doOUT (double&amp; i)
{
	cout &lt;&lt; 3.0 * i &lt;&lt; endl;
}
</code></pre>
<p>Aach, schon wieder zu spät <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137720</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Fri, 15 Sep 2006 06:18:29 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung =&amp;gt; HILFE! on Fri, 15 Sep 2006 10:00:43 GMT]]></title><description><![CDATA[<p>danke!!!! <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="🙂"
    /></p>
<p>die Funktion doOUT funktioniert jetzt, aber: jetzt noch ein Level schwieriger, vgl. Funktion doOUT<strong>2</strong>.</p>
<pre><code>template&lt;class T&gt; class X
{
public:
	X(){;};
	void Test( T &amp; i ) // soll für double, int... immer gleich sein
	{
		cout &lt;&lt; i &lt;&lt; endl;
	};
	void doOUT( T &amp; i ); // soll für double, int... unterschiedlich implementiert werden

	template&lt; class Y &gt; void doOUT2( Y &amp; r, T &amp; i ); // soll für double, int... unterschiedlich implementiert werden
};

template &lt;&gt; void X&lt;int&gt;::doOUT( int &amp; i )
{
    cout &lt;&lt; 2*i &lt;&lt; endl;
}

template &lt;&gt; void X&lt;double&gt;::doOUT( double &amp; i )
{
    cout &lt;&lt; 3.0*i &lt;&lt; endl;
}

template &lt;class Y&gt; void X&lt;int&gt;::doOUT2( Y&amp;r, int &amp; i )
{
    cout &lt;&lt; 2*i &lt;&lt; endl;
}

template &lt;class Y&gt; void X&lt;double&gt;::doOUT2( Y&amp;r, double &amp; i )
{
    cout &lt;&lt; 3.0*i &lt;&lt; endl;
}
</code></pre>
<p>Der Compiler bricht jetzt mit der Fehlermeldung</p>
<blockquote>
<p>error C2244: 'X&lt;T&gt;::doOUT2': Keine Übereinstimmung für Funktionsdefinition mit vorhandener Deklaration gefunden</p>
</blockquote>
<p>ab.</p>
<p>Kann man mit Templates so weit gehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Danke nochmals... <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1137826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1137826</guid><dc:creator><![CDATA[atlastraeger]]></dc:creator><pubDate>Fri, 15 Sep 2006 10:00:43 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung =&amp;gt; HILFE! on Fri, 15 Sep 2006 16:21:22 GMT]]></title><description><![CDATA[<p>Sollte so gehen (zumindest kompiliert es der BCB):</p>
<pre><code class="language-cpp">template &lt;&gt; template &lt;typename Y&gt; void X &lt;int&gt;::doOUT2 &lt;Y&gt; (Y&amp; r, int&amp; i)
{
	cout &lt;&lt; 2 * i &lt;&lt; endl;
}

template &lt;&gt; template &lt;typename Y&gt; void X &lt;double&gt;::doOUT2 &lt;Y&gt; (Y&amp; r, double&amp; i)
{
	cout &lt;&lt; 3.0 * i &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1138066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138066</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:21:22 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung =&amp;gt; HILFE! on Fri, 15 Sep 2006 16:44:30 GMT]]></title><description><![CDATA[<p>Supi, vielen Dank.</p>
<p>Der MSVC2005 akzeptiert scheinbar nur eine leicht geänderte Syntax:</p>
<pre><code>template &lt;&gt; template &lt;typename Y&gt; void X &lt;int&gt;::doOUT2 (Y&amp; r, int&amp; i)
{
    cout ...
}

template &lt;&gt; template &lt;typename Y&gt; void X &lt;double&gt;::doOUT2 (Y&amp; r, double&amp; i)
{
    cout ...
}
</code></pre>
<p>d.h. das</p>
<blockquote>
<p>&lt;Y&gt;</p>
</blockquote>
<p>mag MSVC2005 nicht ...</p>
<p>Also nochmals vielen Dank, jetzt habe ich keine Fragen mehr! <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="🙂"
    /> <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138079</guid><dc:creator><![CDATA[atlastraeger]]></dc:creator><pubDate>Fri, 15 Sep 2006 16:44:30 GMT</pubDate></item><item><title><![CDATA[Reply to Template Spezialisierung =&amp;gt; HILFE! on Sat, 16 Sep 2006 08:53:06 GMT]]></title><description><![CDATA[<p>atlastraeger schrieb:</p>
<blockquote>
<p>d.h. das</p>
<blockquote>
<p>&lt;Y&gt;</p>
</blockquote>
<p>mag MSVC2005 nicht ...</p>
</blockquote>
<p>Das gehört dort auch nicht hin. Scheinbar ein Fehler beim BCB.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138321</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sat, 16 Sep 2006 08:53:06 GMT</pubDate></item></channel></rss>