<?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 Funktion nach Argument spezialisieren]]></title><description><![CDATA[<p>Hi,<br />
ich hab ein Klassen Template und will nun eine Funktion darin nach einem enum Arguement spezialisieren. Kann mir jemand mal ein Beispiel geben wie das aussehen müsste? Wäre sehr nett, weil ich bekomms nicht hin <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=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303947/template-funktion-nach-argument-spezialisieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 04:48:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303947.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 May 2012 17:50:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Template Funktion nach Argument spezialisieren on Fri, 25 May 2012 17:50:03 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich hab ein Klassen Template und will nun eine Funktion darin nach einem enum Arguement spezialisieren. Kann mir jemand mal ein Beispiel geben wie das aussehen müsste? Wäre sehr nett, weil ich bekomms nicht hin <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=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215521</guid><dc:creator><![CDATA[higs]]></dc:creator><pubDate>Fri, 25 May 2012 17:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to Template Funktion nach Argument spezialisieren on Fri, 25 May 2012 17:56:15 GMT]]></title><description><![CDATA[<p>also als beispiel nehme ich mal ein int:</p>
<pre><code class="language-cpp">template&lt; int T &gt;
class C
{
  // hier z.B. eine spezialisierte Funktion für int = 1 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2215523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215523</guid><dc:creator><![CDATA[higs]]></dc:creator><pubDate>Fri, 25 May 2012 17:56:15 GMT</pubDate></item><item><title><![CDATA[Reply to Template Funktion nach Argument spezialisieren on Fri, 25 May 2012 18:37:48 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;int T&gt;
class CBase {
  // Alle Funktionen, die alle Spezialisierungen gemeinsam haben sollen.
};

template &lt;int T&gt;
class C : public CBase&lt;T&gt; {
  // Alle Funktionen, die nur unspezialisierte Varianten von C haben sollen.
};

template &lt;&gt;
class C&lt;0&gt; {
  // Alle Funktionen, die nur für T = 0 exisitieren sollen. 
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2215540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215540</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Fri, 25 May 2012 18:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to Template Funktion nach Argument spezialisieren on Fri, 25 May 2012 18:48:06 GMT]]></title><description><![CDATA[<p>Ja das ist tatsächlich ne Variante. Aber geht das nicht auch einfacher? So dass ich nur eine Klasse habe. Oder reichen dafür die C++ Features mal wieder nicht <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/2215544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215544</guid><dc:creator><![CDATA[higs]]></dc:creator><pubDate>Fri, 25 May 2012 18:48:06 GMT</pubDate></item><item><title><![CDATA[Reply to Template Funktion nach Argument spezialisieren on Fri, 25 May 2012 18:55:53 GMT]]></title><description><![CDATA[<p>higs schrieb:</p>
<blockquote>
<p>Oder reichen dafür die C++ Features mal wieder nicht <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>
</blockquote>
<p>Jop. Du kannst nur Templates spezialisieren. Aber die Klasse ist ein Template, nicht die Methode. <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="😉"
    /></p>
<p>Andererseits. Vielleicht kannste was mit std::enable_if basteln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215549</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 May 2012 18:55:53 GMT</pubDate></item><item><title><![CDATA[Reply to Template Funktion nach Argument spezialisieren on Fri, 25 May 2012 19:00:33 GMT]]></title><description><![CDATA[<p>Mit std::enable_if (-&gt; Gibt aber nicht so schöne Fehlermeldungen <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>
<pre><code class="language-cpp">#include &lt;type_traits&gt; // C++11 für std::enable_if. Alternative: boost::enable_if
tempate &lt;int T&gt;
class C {
  // Methode, die nur für T = 0 existieren soll
  // Late sollte nicht vom User verändert werden. 
  template &lt;bool Late = true, typename = typename std::enable_if&lt;Late &amp;&amp; T == 0&gt;::type&gt;
  void foo() {
    // Implementation von foo.
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2215551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215551</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Fri, 25 May 2012 19:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to Template Funktion nach Argument spezialisieren on Fri, 25 May 2012 21:28:32 GMT]]></title><description><![CDATA[<p>Danke für eure Hilfe,<br />
ich hab nun doch die erste Variante genommen da sie mir am verständlichsten erscheint und nicht so viel auf anderes verweist :P.<br />
Und bin natürlich direkt mal auf ein weiteres Problem gestoßen:<br />
Alle Klassen sind in einer Header.<br />
Die Spezialisierten Klassentemplates referenzieren sich gegenseitig, also zyklisch um genau zu sein.<br />
Problem ist, dass nun die erste Klasse die unspezialisierte Variante nimmt und daraus eine Klasse baut, was ja auch logisch ist da zu dem Zeitpunkt nur die unspezialisierte zur verfügung steht. Kann man das nun irgendwie &quot;forwarden&quot;, dass er wartet bis die spezialisierte da ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215595</guid><dc:creator><![CDATA[higs]]></dc:creator><pubDate>Fri, 25 May 2012 21:28:32 GMT</pubDate></item></channel></rss>