<?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[Operator Überladen in Klassen-Template]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wieso funktioniert das nicht?<br />
<strong>error: declaration of ‘operator[]’ as non-function</strong></p>
<pre><code class="language-cpp">template&lt;class T&gt;
    struct Pixel
    {
        typedef T value_t;
...
        value_t&amp; operator[](size_t index) {assert(index&gt;=0&amp;&amp;index&lt;=3);return values[index];};
...
    };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/303946/operator-überladen-in-klassen-template</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 05:37:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303946.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 May 2012 17:45:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Operator Überladen in Klassen-Template on Fri, 25 May 2012 17:45:56 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wieso funktioniert das nicht?<br />
<strong>error: declaration of ‘operator[]’ as non-function</strong></p>
<pre><code class="language-cpp">template&lt;class T&gt;
    struct Pixel
    {
        typedef T value_t;
...
        value_t&amp; operator[](size_t index) {assert(index&gt;=0&amp;&amp;index&lt;=3);return values[index];};
...
    };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2215520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215520</guid><dc:creator><![CDATA[template operator]]></dc:creator><pubDate>Fri, 25 May 2012 17:45:56 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Überladen in Klassen-Template on Fri, 25 May 2012 18:08:11 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;class T&gt;
struct Pixel
{
    typename typedef T value_t;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2215524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215524</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 25 May 2012 18:08:11 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Überladen in Klassen-Template on Fri, 25 May 2012 18:17:30 GMT]]></title><description><![CDATA[<p>Ne, das funktioniert leider auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215529</guid><dc:creator><![CDATA[template operator]]></dc:creator><pubDate>Fri, 25 May 2012 18:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Überladen in Klassen-Template on Fri, 25 May 2012 18:34:13 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

template&lt;class T&gt;
struct Pixel
{
		        typedef T value_t;
		        value_t&amp; operator[](size_t index) {
					static int dummy;
					return dummy;
				};
};

int main() {
	Pixel&lt;int&gt; pixel;
}
</code></pre>
<p>Funktioniert bei mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215536</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Fri, 25 May 2012 18:34:13 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Überladen in Klassen-Template on Fri, 25 May 2012 18:44:40 GMT]]></title><description><![CDATA[<p>size_t muss irgendwoher bekannt sein, so gehts beispielsweise auch:</p>
<pre><code class="language-cpp">#include &lt;assert.h&gt;
#include &lt;cstring&gt;
template&lt;class T&gt;
struct Pixel
{
    typedef T value_t;
    value_t&amp; operator[](size_t index) {assert(index&gt;=0&amp;&amp;index&lt;=3);return values[index];}
    value_t values[3];
};
int main()
{
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2215543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215543</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Fri, 25 May 2012 18:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to Operator Überladen in Klassen-Template on Fri, 25 May 2012 18:52:21 GMT]]></title><description><![CDATA[<p>Dobi, danke!</p>
<p>Ich hab mir jetzt schon massenhaft Forenbeiträge und ein paar Bücher zum Thema Klassen Templates in Kombi mit operator-Überladungen durchgelesen.<br />
Und woran liegts? An so einer dummen #include.<br />
CodeBlocks hebt size_t hervor, genauso wie alle anderen primitiven Datentypen wie int oder double. Daher bin ich gar nicht auf die Idee gekommen, dass hier ein include fehlt.</p>
<p>Danke nochmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215546</guid><dc:creator><![CDATA[template operator]]></dc:creator><pubDate>Fri, 25 May 2012 18:52:21 GMT</pubDate></item></channel></rss>