<?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[Spezialisierung von Template Funktionen in einer Template Klasse]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich verstehe warscheinlich noch nicht warum meine Implementierung Fehler verursacht, aber ich hoffe ich kann hier erleuchtet werden.</p>
<p>Folgendes Problem</p>
<pre><code class="language-cpp">template &lt;class device_class&gt;
class Messages {
   template&lt;typename T&gt; void DefaultFormat(T nVarValue, CString&amp; sVarValue);
   template &lt;&gt; void DefaultFormat&lt;INT16&gt;(INT16 nVarValue, CString&amp; sVarValue) {...} //das geht
   template &lt;&gt; void DefaultFormat&lt;UINT16&gt;(UINT16 nVarValue, CString&amp; sVarValue) {...} //das geht nicht

};

//das geht auch
template &lt;class device_class&gt; template &lt;typename T&gt;
void Messages&lt;device_class&gt;::DefaultFormat(T nVarValue, CString&amp; sVarValue) {...}

//das geht dann nicht mehr C2768 + C2244
template &lt;class device_class&gt; template &lt;&gt;
void Messages&lt;device_class&gt;::DefaultFormat&lt;UINT16&gt;(UINT16 nVarValue, CString&amp; sVarValue) {...}

//das geht dann nicht mehr C2768 + C2244
template &lt;class device_class&gt; template &lt;&gt;
void Messages&lt;device_class&gt;::DefaultFormat&lt;UINT32&gt;(UINT32 nVarValue, CString&amp; sVarValue) {...}
</code></pre>
<p>Ich will die Spezialsierungen der Funktionen aber eigentlich nicht in der Klassendeklaration machen...</p>
<p>Compiler ist VC2003</p>
<p>MfG<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300385/spezialisierung-von-template-funktionen-in-einer-template-klasse</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 21:13:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300385.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Mar 2012 09:09:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Spezialisierung von Template Funktionen in einer Template Klasse on Fri, 02 Mar 2012 09:09:28 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich verstehe warscheinlich noch nicht warum meine Implementierung Fehler verursacht, aber ich hoffe ich kann hier erleuchtet werden.</p>
<p>Folgendes Problem</p>
<pre><code class="language-cpp">template &lt;class device_class&gt;
class Messages {
   template&lt;typename T&gt; void DefaultFormat(T nVarValue, CString&amp; sVarValue);
   template &lt;&gt; void DefaultFormat&lt;INT16&gt;(INT16 nVarValue, CString&amp; sVarValue) {...} //das geht
   template &lt;&gt; void DefaultFormat&lt;UINT16&gt;(UINT16 nVarValue, CString&amp; sVarValue) {...} //das geht nicht

};

//das geht auch
template &lt;class device_class&gt; template &lt;typename T&gt;
void Messages&lt;device_class&gt;::DefaultFormat(T nVarValue, CString&amp; sVarValue) {...}

//das geht dann nicht mehr C2768 + C2244
template &lt;class device_class&gt; template &lt;&gt;
void Messages&lt;device_class&gt;::DefaultFormat&lt;UINT16&gt;(UINT16 nVarValue, CString&amp; sVarValue) {...}

//das geht dann nicht mehr C2768 + C2244
template &lt;class device_class&gt; template &lt;&gt;
void Messages&lt;device_class&gt;::DefaultFormat&lt;UINT32&gt;(UINT32 nVarValue, CString&amp; sVarValue) {...}
</code></pre>
<p>Ich will die Spezialsierungen der Funktionen aber eigentlich nicht in der Klassendeklaration machen...</p>
<p>Compiler ist VC2003</p>
<p>MfG<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187636</guid><dc:creator><![CDATA[Klaus-Peter Weiß]]></dc:creator><pubDate>Fri, 02 Mar 2012 09:09:28 GMT</pubDate></item><item><title><![CDATA[Reply to Spezialisierung von Template Funktionen in einer Template Klasse on Fri, 02 Mar 2012 10:07:12 GMT]]></title><description><![CDATA[<p>Ob das jetzt geht oder nicht, weiß ich gar nicht. Ich würde versuchen, Spezialisierungen von Funktionstemplates ganz sein zu lassen. Man kann das auch immer anders aufschreiben/designen (und das ist dann oft auch eleganter).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187654</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 02 Mar 2012 10:07:12 GMT</pubDate></item><item><title><![CDATA[Reply to Spezialisierung von Template Funktionen in einer Template Klasse on Fri, 02 Mar 2012 10:07:31 GMT]]></title><description><![CDATA[<p>Bevor jemand auf das Problem eingeht: Gibt es einen Grund warum du keine Überladungen für UINT16 und UINT32 machst? Grundsätzlich sollten Überladungen Spezialisierungen vorgezogen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187655</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 02 Mar 2012 10:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to Spezialisierung von Template Funktionen in einer Template Klasse on Fri, 02 Mar 2012 10:19:55 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ihr habt Recht ich brauche die Templates an der Stelle nicht.<br />
Ich würde nur gern verstehen warum die Speialiserung außerhalb der Klassendefinition so nicht geht.</p>
<p>die Varianten die auch außerhalb der Klassendeklaration funktionieren sind folgende:</p>
<pre><code class="language-cpp">template &lt;class device_class&gt; template &lt;typename T&gt;
template &lt;&gt; template &lt;typename T&gt;
template &lt;&gt; template &lt;&gt;
</code></pre>
<p>was offensichtlich nicht geht ist:</p>
<pre><code class="language-cpp">template &lt;class device_class&gt; template &lt;&gt;
</code></pre>
<p>die Spezialisierungen müssen immer von vorne beginnen?</p>
<p>Gruss<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2187659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2187659</guid><dc:creator><![CDATA[Klaus-Peter Weiß]]></dc:creator><pubDate>Fri, 02 Mar 2012 10:19:55 GMT</pubDate></item></channel></rss>