<?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[Zuweisungsoperator für Templateklasse - Syntax?]]></title><description><![CDATA[<p>Hab schon gegoogelt, bekomm das aber nicht hin:</p>
<pre><code class="language-cpp">template &lt;class T&gt; class Nerv 
{
	private:
	template &lt;class T&gt; 
	Nerv&lt;T&gt;&amp; Nerv&lt;T&gt; ::operator=(const Nerv&lt;T&gt;&amp; c)
	{
		return (this*);
	}
};
</code></pre>
<blockquote>
<p>'=': Unzulässiger vollständig angegebener Name in Elementdeklaration</p>
</blockquote>
<p>oder je nachdem wie man es macht und welchen Compiler man nimmt</p>
<blockquote>
<p>error: expected primary-expression before ';' token</p>
</blockquote>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/topic/157725/zuweisungsoperator-für-templateklasse-syntax</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 10:00:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/157725.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Aug 2006 06:32:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zuweisungsoperator für Templateklasse - Syntax? on Tue, 29 Aug 2006 06:32:53 GMT]]></title><description><![CDATA[<p>Hab schon gegoogelt, bekomm das aber nicht hin:</p>
<pre><code class="language-cpp">template &lt;class T&gt; class Nerv 
{
	private:
	template &lt;class T&gt; 
	Nerv&lt;T&gt;&amp; Nerv&lt;T&gt; ::operator=(const Nerv&lt;T&gt;&amp; c)
	{
		return (this*);
	}
};
</code></pre>
<blockquote>
<p>'=': Unzulässiger vollständig angegebener Name in Elementdeklaration</p>
</blockquote>
<p>oder je nachdem wie man es macht und welchen Compiler man nimmt</p>
<blockquote>
<p>error: expected primary-expression before ';' token</p>
</blockquote>
<p><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>
]]></description><link>https://www.c-plusplus.net/forum/post/1126540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1126540</guid><dc:creator><![CDATA[Delryn]]></dc:creator><pubDate>Tue, 29 Aug 2006 06:32:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zuweisungsoperator für Templateklasse - Syntax? on Tue, 29 Aug 2006 06:37:09 GMT]]></title><description><![CDATA[<p>so?</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class test
{
  public:
  test&lt;T&gt;&amp; operator=(test&lt;T&gt;&amp; Obj)
  {
    //...
  }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1126541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1126541</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Tue, 29 Aug 2006 06:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zuweisungsoperator für Templateklasse - Syntax? on Tue, 29 Aug 2006 06:40:06 GMT]]></title><description><![CDATA[<p>Shit, wie dumm von mir <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/1126546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1126546</guid><dc:creator><![CDATA[Delryn]]></dc:creator><pubDate>Tue, 29 Aug 2006 06:40:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zuweisungsoperator für Templateklasse - Syntax? on Tue, 29 Aug 2006 07:30:30 GMT]]></title><description><![CDATA[<p>Delryn schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template &lt;class T&gt; 
	Nerv&lt;T&gt;&amp; Nerv&lt;T&gt; ::operator=(const Nerv&lt;T&gt;&amp; c)
</code></pre>
</blockquote>
<p>Das ist nicht korrekt, da der Template Parameter T ja bereits existiert. GCC spricht hier zB von Shadow Template Parameter.<br />
Innerhalb deiner Klasse ist Nerv ein Synonym für Nerv&lt;T&gt;. Es reicht also folgendes vollkommen aus:</p>
<pre><code class="language-cpp">Nerv&amp; Nerv::operator=(const Nerv&amp; c)
</code></pre>
<p>Falls du einen anderen Template Parameter verwenden willst, musst du einen anderen Namen angeben, zB</p>
<pre><code class="language-cpp">template &lt;class T2&gt; 
	Nerv&lt;T2&gt;&amp; Nerv&lt;T2&gt; ::operator=(const Nerv&lt;T2&gt;&amp; c)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1126576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1126576</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Tue, 29 Aug 2006 07:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zuweisungsoperator für Templateklasse - Syntax? on Tue, 29 Aug 2006 09:36:05 GMT]]></title><description><![CDATA[<p>groovemaster schrieb:</p>
<blockquote>
<p>Falls du einen anderen Template Parameter verwenden willst, musst du einen anderen Namen angeben, zB</p>
<pre><code class="language-cpp">template &lt;class T2&gt; 
	Nerv&lt;T2&gt;&amp; Nerv&lt;T2&gt; ::operator=(const Nerv&lt;T2&gt;&amp; c)
</code></pre>
</blockquote>
<p>Hierbei aber nicht vergessen, dass ein solcher Template-Zuweisungsoperator niemals als Default-Zuweisungsoperator angesehen wird. Bei:</p>
<pre><code class="language-cpp">Nerv&lt;int&gt; a, b;
a = b;
</code></pre>
<p>wird also niemals der Template-Zuweisungsoperator aufgerufen.<br />
Wer also einen Template-Zuweisungsoperator schreibt, sollte in der Regel auch einen &quot;normalen&quot; Zuweisungsoperator implementieren. Oder zumindest sicher sein, dass die vom Compiler generierte Version das Richtige tut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1126688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1126688</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Tue, 29 Aug 2006 09:36:05 GMT</pubDate></item></channel></rss>