<?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[wchar_t* template Spezialisierung]]></title><description><![CDATA[<p>Ich versuche folgendes hinzubekommen (mit MultiByte kompiliert):</p>
<pre><code class="language-cpp">// Allgemeine template Version.
template &lt;class T&gt;
void DoSomething(const T&amp; Value)
{
  ...
}

// wchar_t* Version.
template &lt;&gt; // Im header.
void DoSomething&lt;wchar_t*&gt;(wchar_t* const &amp; Value);

template &lt;&gt; // In einer cpp Datei.
void DoSomething&lt;wchar_t*&gt;(wchar_t* const &amp; Value)
{
  ...
}

int main()
{
  DoSomething(L&quot;Test&quot;);
  return 0;
}
</code></pre>
<p>Das Problem ist, dass nicht die Spezialisierung, sondern die allgemeine Version aufgerufen wird.<br />
Per typeid hab ich herausbekommen, dass &quot;T&quot; in diesem Fall &quot;const wchar_t[5]&quot; (oder so ähnlich) ist.<br />
Rumprobieren (z.B. const wchar_t* const &amp;, oder const wchar_t[]) und google haben nichts gebracht...</p>
<p>Was muss ich schreiben, dass bei sowas meine Spezialisierung aufgerufen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/246453/wchar_t-template-spezialisierung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 23:36:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/246453.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Jul 2009 14:49:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 14:49:08 GMT]]></title><description><![CDATA[<p>Ich versuche folgendes hinzubekommen (mit MultiByte kompiliert):</p>
<pre><code class="language-cpp">// Allgemeine template Version.
template &lt;class T&gt;
void DoSomething(const T&amp; Value)
{
  ...
}

// wchar_t* Version.
template &lt;&gt; // Im header.
void DoSomething&lt;wchar_t*&gt;(wchar_t* const &amp; Value);

template &lt;&gt; // In einer cpp Datei.
void DoSomething&lt;wchar_t*&gt;(wchar_t* const &amp; Value)
{
  ...
}

int main()
{
  DoSomething(L&quot;Test&quot;);
  return 0;
}
</code></pre>
<p>Das Problem ist, dass nicht die Spezialisierung, sondern die allgemeine Version aufgerufen wird.<br />
Per typeid hab ich herausbekommen, dass &quot;T&quot; in diesem Fall &quot;const wchar_t[5]&quot; (oder so ähnlich) ist.<br />
Rumprobieren (z.B. const wchar_t* const &amp;, oder const wchar_t[]) und google haben nichts gebracht...</p>
<p>Was muss ich schreiben, dass bei sowas meine Spezialisierung aufgerufen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1750971</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1750971</guid><dc:creator><![CDATA[Gugi]]></dc:creator><pubDate>Tue, 28 Jul 2009 14:49:08 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 14:55:06 GMT]]></title><description><![CDATA[<p><code>void DoSomething( const wchar_t* Value )</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1750976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1750976</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Tue, 28 Jul 2009 14:55:06 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 15:00:25 GMT]]></title><description><![CDATA[<p>Gugi schrieb:</p>
<blockquote>
<p>Was muss ich schreiben, dass bei sowas meine Spezialisierung aufgerufen wird?</p>
</blockquote>
<p>Am einfachsten:<br />
Nimm keine Spezialisierung, sondern eine Überladung:</p>
<pre><code class="language-cpp">void doSomething(wchar_t const* value)
{
}
</code></pre>
<p>Wenn du unbedingt bei der Spezialisierung bleiben möchtest, musst du zwei Dinge machen:<br />
1. <em>String-Literal</em> sind konstant, also muss es ein Zeiger auf konstante <em>wchar_ts</em> sein.<br />
2. Du musst zuerst aus deinem <em>String-Literal-Array</em> ein Zeiger machen.</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
void doSomething(T const&amp; value)
{
}

template&lt;&gt;
void doSomething(wchar_t const* const&amp; value)
{
}

// ...

doSomething(&amp;L&quot;hello&quot;[0]); // erstes Element holen und zeiger zurückgeben.
</code></pre>
<p>Ich empfehle aber wirklich die Überladung zu nehmen <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>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1750982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1750982</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 28 Jul 2009 15:00:25 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 15:21:45 GMT]]></title><description><![CDATA[<p>Zweite Möglichkeit:<br />
Du musst aus dem Zeigerparameter ein Arrayparameter machen. Das würde aber partielle Spezialisierung erfordern, was bei Funktionen nicht geht. Du müsstest also zusätzlich aus der Funktion eine Klasse machen.</p>
<pre><code class="language-cpp">namespace detail {

template&lt;typename T&gt;
struct DoSomething
{
    static void doIt(T const&amp; value);
};

template&lt;size_t N&gt;
struct DoSomething&lt; char[N] &gt;
{
    static void doIt(T const (&amp;value)[N]);
};

}

template&lt;typename T&gt;
void doSomething(T const&amp; value)
{
    detail::DoSomething&lt;T&gt;::doIt(value);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1751000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751000</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 28 Jul 2009 15:21:45 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 15:27:33 GMT]]></title><description><![CDATA[<p>Hier noch ein Beitrag zu Überladung vs. Templ. spez.:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-246296.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-246296.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751009</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 28 Jul 2009 15:27:33 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 15:29:49 GMT]]></title><description><![CDATA[<p>Hihi. An den Thread musste ich auch gerade denken.<br />
Ich sag nur QED <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/1751014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751014</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 28 Jul 2009 15:29:49 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 22:02:27 GMT]]></title><description><![CDATA[<p>Hey! Was soll das Gekicher und das q.e.d.? <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>
<p>Das Problem hier hat mit den vorgetragenen Argumenten von Überladung vs. Spezialisierung nur wenig zu tun.</p>
<p>Und außerdem funktioniert Überladung hier auch nur mit Änderung der Semantik</p>
<p>Denn mit</p>
<pre><code class="language-cpp">void doSomething(wchar_t const* value)
{
}
</code></pre>
<p>ist value keine Referenz auf das übergebene Objekt wie es das Template vorschreibt, was man mit einfacher Ausgabe der Adresse beweisen kann.</p>
<p>Will man mit derselben Semantik, also einer Referenz arbeiten funktioniert auch die Überladung mit der normalen Funktion nicht mehr. Ist halt so bei Arrays.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751238</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Tue, 28 Jul 2009 22:02:27 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 22:57:06 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26247">@Mitleid</a>:</p>
<blockquote>
<p>Das Problem hier hat mit den vorgetragenen Argumenten von Überladung vs. Spezialisierung nur wenig zu tun.</p>
</blockquote>
<p>Falsch. Es hat alles damit zu tun. Mal davon abgesehen dass der OP ein const vergessen hat.</p>
<blockquote>
<p>Und außerdem funktioniert Überladung hier auch nur mit Änderung der Semantik</p>
</blockquote>
<p>Falsch.</p>
<pre><code class="language-cpp">// primary template
template&lt;typename T&gt; void doSomething(T const&amp; value) { }

// template-overload mit gleicher semantik
template &lt;size_t N&gt; void doSomething(wchar_t const (&amp;value)[N]) { }
</code></pre>
<blockquote>
<p>Will man mit derselben Semantik, also einer Referenz arbeiten funktioniert auch die Überladung mit der normalen Funktion nicht mehr. Ist halt so bei Arrays.</p>
</blockquote>
<p>Richtig. Dafür mit einem Template-Overload. Was genau das Thema des anderen Artikels ist <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/1751259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751259</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 28 Jul 2009 22:57:06 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Tue, 28 Jul 2009 23:30:19 GMT]]></title><description><![CDATA[<p>@hustbear</p>
<p>Ich weiß nicht, ob du mich absichtlich falsch verstehst, oder ob wir uns mißverstanden haben. Ich beziehe mich die ganze Zeit auf die Überladung mit einer NORMALEN Funktion. Das war das Thema des anderen Threads und auch der Vorschlag von Dravere, siehe oben und hier:</p>
<p>Emberlei schrieb:</p>
<blockquote>
<p>Hallo, was ist besser?</p>
<pre><code class="language-cpp">template&lt;typename T&gt; void doSomething(T a) {};

//Variante 1
void doSomething(int a) {}; //Einfache Überladung

//Variante 2
template&lt;&gt; void doSomething(int a){}; //Template-Spezialisierung
</code></pre>
<p>Welche Vorteile/Nachteile bieten die beiden Varianten? Was ist die übliche Variante? Was benutzt ihr?</p>
</blockquote>
<p>Über die Überladung mit einem Template habe ich nicht gesprochen, daher kann ich das erste &quot;FALSCH&quot; und auch das zweite nicht akzeptieren. Bitte das nächste Mal genauer lesen. <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="😉"
    /> Es ist recht ermüdend hinterherzulaufen, wenn jemand einem das Wort im Mund umdreht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751267</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Tue, 28 Jul 2009 23:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Wed, 29 Jul 2009 00:32:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26247">@Mitleid</a>:<br />
Und ich rede von Spezialisierung vs. Überladung, egal ob Überladung mit normalen Funktionen oder Funktions-Templates. Macht für mich keinen Unterschied.</p>
<p>p.S.: die &quot;sicherste&quot; Variante ist IMO die Delegation an ein Klassen-Template.</p>
<p>p.p.S.: vielleicht magst du mir ja erklären, wieso für dich die Unterscheidung zwischen Überladung mit einer normalen Funktion vs. mit einem Funktions-Template wichtig/relevant ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751272</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 29 Jul 2009 00:32:05 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Wed, 29 Jul 2009 09:35:13 GMT]]></title><description><![CDATA[<p>Uh, wtf xD Hier bricht ja wie im anderen Thread gleich wieder ein halber Krieg aus xD</p>
<p>Gugi schrieb:</p>
<blockquote>
<p>Rumprobieren (z.B. const wchar_t* const &amp;, oder const wchar_t[]) und google haben nichts gebracht...</p>
</blockquote>
<p>Ein paar der Versionen, die ich probiert habe:</p>
<pre><code class="language-cpp">template &lt;class T&gt; void DoSomething(const T&amp; Value); // Allgemein

void DoSomething(const wchar_t* const Value); // Kompiliert
void DoSomething(wchar_t const * Value); // Kompiliert
template &lt;&gt; void DoSomething&lt;const wchar_t*&gt;(const wchar_t* const &amp; Value); // Kompiliert
template &lt;&gt; void DoSomething&lt;const wchar_t* const&gt;(const wchar_t* const &amp; Value); // Kompiliert
template &lt;&gt; void DoSomething&lt;const wchar_t&amp;&gt;(const wchar_t&amp; Value); // Fehler

DoSomething(L&quot;Test&quot;);
</code></pre>
<p>Wenn es kompiliert, funktioniert es nicht. Es wird die allgemeine template Version aufgerufen (oder zumindest nicht die spezialisierte/die überladene Version).</p>
<p>In eine extra Klasse würde ich es nur ungern packen... Es muss doch eine Möglichkeit geben, dass es auch so möglich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751418</guid><dc:creator><![CDATA[Gugi]]></dc:creator><pubDate>Wed, 29 Jul 2009 09:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Wed, 29 Jul 2009 10:40:10 GMT]]></title><description><![CDATA[<p>Gugi schrieb:</p>
<blockquote>
<p>Es muss doch eine Möglichkeit geben, dass es auch so möglich ist.</p>
</blockquote>
<p>hustbear hat es bereits ansatzweise hingeschrieben, sie oben unter <em>&quot;// template-overload mit gleicher semantik&quot;</em></p>
<p>Dein Problem ist die Referenz. Wenn du ein Array daran binden willst müssen auch die Array-Grenzen übereinstimmen. Dafür brauchst du dieses zweite Template. Darin muss ja mehr oder weniger nicht viel stehen, außer ein expliziter Auruf der Spezialisierung.</p>
<p>Also ein Möglichkeit:</p>
<pre><code class="language-cpp">template &lt;class T&gt; void DoSomething(const T&amp; Value);
// Dann die Spezialisierungen. Unterschied const &lt;-&gt; nicht const beachten
template&lt;&gt; void DoSomething&lt;const wchar_t*&gt; ...
template&lt;&gt; void DoSomething&lt;wchar_t*&gt;...
// und dann das zweite Template
template &lt;size_t N&gt; void doSomething(wchar_t const (&amp;value)[N]) { 
    doSomething&lt;const wchar_t*&gt;(value);
}
</code></pre>
<p>P.S.: Wenn du mit const usw. durcheinander kommst, dann hilft manchmal ein typedef an der einen oder anderen Stelle.</p>
<p>P.S.2: Ist nur ein Tipp für einen Ansatz, hab jetzt selbst nicht überprüft ob alles übereinstimmt sondern nur zusammenkopiert.:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751467</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Wed, 29 Jul 2009 10:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Wed, 29 Jul 2009 12:14:20 GMT]]></title><description><![CDATA[<p>Gugi schrieb:</p>
<blockquote>
<p>Wenn es kompiliert, funktioniert es nicht.</p>
</blockquote>
<p>Tut mir leid, aber das glaub ich dir nicht. Dieser Fall funktioniert ganz sicher:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

template&lt;typename T&gt;
void doSomething(T const&amp; value)
{
    std::cout &lt;&lt; &quot;T const&amp;&quot; &lt;&lt; std::endl;
}

void doSomething(wchar_t const* value)
{
    std::cout &lt;&lt; &quot;wchar_t const*&quot; &lt;&lt; std::endl;
}

int main()
{
    doSomething(L&quot;Hello&quot;);

    return 0;
}
</code></pre>
<p>Da wird ein &quot;wchar_t const*&quot; auf der Konsole ausgegeben. Wenn nicht, dann möchte ich gerne Wissen, welchen Kompiler du benutzt.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751543</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 29 Jul 2009 12:14:20 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Wed, 29 Jul 2009 13:09:31 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26247">@Mitleid</a>: könntest du den Spezialisierungs-Unsinn sein lassen, und lieber meine Frage beantworten? <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/1751612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751612</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 29 Jul 2009 13:09:31 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Wed, 29 Jul 2009 14:14:11 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26247">@Mitleid</a>: könntest du den Spezialisierungs-Unsinn sein lassen, und lieber meine Frage beantworten? <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>Wenn du Beiträge editierst und Fragen hinzufügst bekommt das nicht jeder mit.;) Ich zumindest nicht.</p>
<p>Ich mache die Unterscheidung nur, weil das der Inhalt von Emberleis Frage war. Nachdem du recht einsilbig geblieben bist und nur mit einem <em>&quot;Ich würde grundsätzlich einen Overload vorziehen.&quot;</em> geantwortet hast, hast du in meinen Augen gesagt du würdest grundsätzlich mit einer normalen Funktion überladen. Das hätte ich halt gerne nochmal begründet gehabt.</p>
<p>Wenn du (hoffentlich damals schon) auch die Überladung mit Templates gemeint hast (was nicht der Inhalt von Emberleis Frage war), dann haben wir ja kein Differenzen. Dann brauchst du nur noch deine Variante für Gugi ohne die (angeblich unsinnigen) Spezialisierungen hier hineinschreiben und alle sind glücklich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1751675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1751675</guid><dc:creator><![CDATA[Mitleid]]></dc:creator><pubDate>Wed, 29 Jul 2009 14:14:11 GMT</pubDate></item><item><title><![CDATA[Reply to wchar_t* template Spezialisierung on Thu, 30 Jul 2009 09:25:44 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26247">@Mitleid</a>: Die ganzen const Varianten waren nur Beispiele meiner Versuche.</p>
<p>Und: Ich bin ein totaler Volldepp...<br />
Ich hab nämlich, wie mir gerade bewusst geworden ist, noch ein template-overload (oder wie man das nennt):</p>
<pre><code class="language-cpp">template&lt;class T&gt; void DoSomething(int AParamter, const T&amp; Value);
void DoSomething(int AParameter, const wchar_t* Value);

template&lt;class T&gt; void DoSomething(const T&amp; Value)
{
  DoSomething&lt;T&gt;(0, Value);
}
</code></pre>
<p>Im Testcode hab ich DoSomething so aufgerufen:</p>
<pre><code class="language-cpp">DoSomething(L&quot;Test&quot;);
</code></pre>
<p>Da isses klar, dass er die allgemeine Version aufruft. So gehts:</p>
<pre><code class="language-cpp">template&lt;class T&gt; void DoSomething(const T&amp; Value)
{
  DoSomething(0, Value);
}
</code></pre>
<p>Also, es funktioniert jetzt. Danke an alle <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="🙂"
    /> Wär mir sonst nie aufgefallen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1752123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1752123</guid><dc:creator><![CDATA[Gugi]]></dc:creator><pubDate>Thu, 30 Jul 2009 09:25:44 GMT</pubDate></item></channel></rss>