<?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[Problem mit Membertemplate]]></title><description><![CDATA[<p>Hallo!<br />
Ich weiss nich wo das Problem bei diesem Membertemplate ist:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void ExtVec::RemoveVectorElement&lt;T&gt;(std::vector&lt;T&gt;&amp; vec, size_t pos)
{
	std::vector&lt;T&gt; newvec;
	for (size_t i=0; i&lt;vec.size(); i++)
		if (i != pos)
			newvec.push_back(vec[i]);
	vec = newvec;
}
</code></pre>
<p>Ich erhalte folgende Fehlermeldung:</p>
<pre><code>'ExtVec::RemoveVectorElement': Unzulässige Verwendung von expliziten Vorlagenargumenten
</code></pre>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/234356/problem-mit-membertemplate</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 11:41:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/234356.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 16 Feb 2009 20:29:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Membertemplate on Mon, 16 Feb 2009 20:29:52 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich weiss nich wo das Problem bei diesem Membertemplate ist:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
void ExtVec::RemoveVectorElement&lt;T&gt;(std::vector&lt;T&gt;&amp; vec, size_t pos)
{
	std::vector&lt;T&gt; newvec;
	for (size_t i=0; i&lt;vec.size(); i++)
		if (i != pos)
			newvec.push_back(vec[i]);
	vec = newvec;
}
</code></pre>
<p>Ich erhalte folgende Fehlermeldung:</p>
<pre><code>'ExtVec::RemoveVectorElement': Unzulässige Verwendung von expliziten Vorlagenargumenten
</code></pre>
<p>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1664944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1664944</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Mon, 16 Feb 2009 20:29:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Membertemplate on Mon, 16 Feb 2009 20:32:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;class T&gt;
void ExtVec::RemoveVectorElement(std::vector&lt;T&gt;&amp; vec, size_t pos)
{
    std::vector&lt;T&gt; newvec;
    for (size_t i=0; i&lt;vec.size(); i++)
        if (i != pos)
            newvec.push_back(vec[i]);
    vec = newvec;
}
</code></pre>
<p>Nach <code>RemoveVectorElement</code> kommt kein <code>&lt;T&gt;</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1664946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1664946</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Mon, 16 Feb 2009 20:32:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Membertemplate on Mon, 16 Feb 2009 20:35:54 GMT]]></title><description><![CDATA[<p>Das war tatsaechlich der Fehler, 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>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1664948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1664948</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Mon, 16 Feb 2009 20:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Membertemplate on Mon, 16 Feb 2009 20:37:10 GMT]]></title><description><![CDATA[<p>mit dem &lt;T&gt; könntest du bei einem funktionsaufruf das template einen bestimmten typ typzuweisen was du in deinem beispiel ja nicht machen willst da der compiler dies für dich entscheiden soll</p>
<p>diese &lt;T&gt; konstruktion gehört wie gesagt nicht dort hin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1664950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1664950</guid><dc:creator><![CDATA[template&amp;lt;T&amp;gt;]]></dc:creator><pubDate>Mon, 16 Feb 2009 20:37:10 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Membertemplate on Mon, 16 Feb 2009 21:19:56 GMT]]></title><description><![CDATA[<p>template&lt;T&gt; schrieb:</p>
<blockquote>
<p>mit dem &lt;T&gt; könntest du bei einem funktionsaufruf das template einen bestimmten typ typzuweisen was du in deinem beispiel ja nicht machen willst da der compiler dies für dich entscheiden soll</p>
<p>diese &lt;T&gt; konstruktion gehört wie gesagt nicht dort hin</p>
</blockquote>
<p>Meinst du bei Spezialisierungen?</p>
<p>Soviel ich nun gelesen hab ist es selbst dann nicht notwendig den Typ mit anzugeben, da dies der Compiler automatisch uebernimmt.</p>
<pre><code class="language-cpp">template&lt;&gt;
void ExtVec::RemoveVectorElement&lt;int&gt;(std::vector&lt;T&gt;&amp; vec, size_t pos)
{
    std::vector&lt;T&gt; newvec;
    for (size_t i=0; i&lt;vec.size(); i++)
        if (i != pos)
            newvec.push_back(vec[i]);
    vec = newvec;
}
</code></pre>
<p>ist dasselbe wie</p>
<pre><code class="language-cpp">template&lt;&gt;
void ExtVec::RemoveVectorElement(std::vector&lt;T&gt;&amp; vec, size_t pos)
{
    std::vector&lt;T&gt; newvec;
    for (size_t i=0; i&lt;vec.size(); i++)
        if (i != pos)
            newvec.push_back(vec[i]);
    vec = newvec;
}
</code></pre>
<p>Wann ist denn diese &quot;Typdeduktion&quot; denn nun noetig und wann nicht?<br />
oder hab ich da jetzt was falsch verstanden? <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>Gruss<br />
Cartman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1664974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1664974</guid><dc:creator><![CDATA[Eric Cartman]]></dc:creator><pubDate>Mon, 16 Feb 2009 21:19:56 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Membertemplate on Mon, 16 Feb 2009 22:08:04 GMT]]></title><description><![CDATA[<p>Du kannst Funktionstemplates nicht partiell spezialisieren. Aber grundsätzlich musst du den Templateparameter (hier <code>&lt;T&gt;</code> ) beim Bezeichner nur hinschreiben, wenn du spezialisierst.</p>
<p>Gleich wie bei Klassen:</p>
<pre><code class="language-cpp">template &lt;typename T, typename S&gt;
class MyClass {};

template &lt;typename S&gt;
class MyClass&lt;int, S&gt; {};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1664993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1664993</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 16 Feb 2009 22:08:04 GMT</pubDate></item></channel></rss>