<?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[Ich verstehe diese Compiler-Fehler nicht]]></title><description><![CDATA[<p>Folgendes habe ich geschrieben (Ausschnitt):<br />
Matrix.h</p>
<pre><code>static Matrix&lt;T&gt; sumCols( const Matrix&lt;T&gt; &amp;M ) {
		Matrix&lt;T&gt; sumVec( M.rows, 1 );
		for( unsigned int i = 0; i &lt; M.cols; ++i )
			sumVec.setElement( 0, i, 0 );

		for( unsigned int j = 0; j &lt; M.cols; ++j )
			for( unsigned int i = 0; i &lt; M.rows; ++i )
				sumVec.setElement( sumVec.getElement( i,0 ) + M.getElement(i,j), i, 0 ); //Zeile 165

		return sumVec;
	}
</code></pre>
<p>Und so rufe ich das Teil auf:</p>
<pre><code>Matrix&lt;int&gt; summedAttributes = Matrix&lt;int&gt;::sumCols( _10_Sec_Attribute_Matrix );
</code></pre>
<p>_10_Sec_Attribute_Matrix ist ein Objekt vom Typ &quot;Matrix&lt;int&gt;&quot;.</p>
<p>Und der Compiler moniert folgendes:</p>
<blockquote>
<p>g++ -g -Wall -finstrument-functions -c ProcessData.cpp -o ProcessData.o<br />
Matrix.h: In static member function ‘static Matrix&lt;T&gt; Matrix&lt;T&gt;::sumCols(const Matrix&lt;T&gt;&amp;) [with T = int]’:<br />
ProcessData.cpp:19: instantiated from here<br />
Matrix.h:165: error: passing ‘const Matrix&lt;int&gt;’ as ‘this’ argument of ‘T Matrix&lt;T&gt;::getElement(unsigned int, unsigned int) [with T = int]’ discards qualifiers<br />
make: *** [ProcessData.o] Error 1</p>
</blockquote>
<p>Kann ich nix mit anfangen. <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/266538/ich-verstehe-diese-compiler-fehler-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 05:21:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266538.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 May 2010 16:12:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ich verstehe diese Compiler-Fehler nicht on Mon, 10 May 2010 16:12:11 GMT]]></title><description><![CDATA[<p>Folgendes habe ich geschrieben (Ausschnitt):<br />
Matrix.h</p>
<pre><code>static Matrix&lt;T&gt; sumCols( const Matrix&lt;T&gt; &amp;M ) {
		Matrix&lt;T&gt; sumVec( M.rows, 1 );
		for( unsigned int i = 0; i &lt; M.cols; ++i )
			sumVec.setElement( 0, i, 0 );

		for( unsigned int j = 0; j &lt; M.cols; ++j )
			for( unsigned int i = 0; i &lt; M.rows; ++i )
				sumVec.setElement( sumVec.getElement( i,0 ) + M.getElement(i,j), i, 0 ); //Zeile 165

		return sumVec;
	}
</code></pre>
<p>Und so rufe ich das Teil auf:</p>
<pre><code>Matrix&lt;int&gt; summedAttributes = Matrix&lt;int&gt;::sumCols( _10_Sec_Attribute_Matrix );
</code></pre>
<p>_10_Sec_Attribute_Matrix ist ein Objekt vom Typ &quot;Matrix&lt;int&gt;&quot;.</p>
<p>Und der Compiler moniert folgendes:</p>
<blockquote>
<p>g++ -g -Wall -finstrument-functions -c ProcessData.cpp -o ProcessData.o<br />
Matrix.h: In static member function ‘static Matrix&lt;T&gt; Matrix&lt;T&gt;::sumCols(const Matrix&lt;T&gt;&amp;) [with T = int]’:<br />
ProcessData.cpp:19: instantiated from here<br />
Matrix.h:165: error: passing ‘const Matrix&lt;int&gt;’ as ‘this’ argument of ‘T Matrix&lt;T&gt;::getElement(unsigned int, unsigned int) [with T = int]’ discards qualifiers<br />
make: *** [ProcessData.o] Error 1</p>
</blockquote>
<p>Kann ich nix mit anfangen. <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/1895238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1895238</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Mon, 10 May 2010 16:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to Ich verstehe diese Compiler-Fehler nicht on Mon, 10 May 2010 16:20:34 GMT]]></title><description><![CDATA[<p>getElement ist keine const-Methode, du rufst sie aber auf M (= const-Referenz) auf.</p>
<p>Steht zwar auch genauso in der Fehlermeldung, aber vielleicht hilft es ja. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1895241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1895241</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 10 May 2010 16:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to Ich verstehe diese Compiler-Fehler nicht on Mon, 10 May 2010 16:45:41 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>getElement ist keine const-Methode, du rufst sie aber auf M (= const-Referenz) auf.</p>
<p>Steht zwar auch genauso in der Fehlermeldung, aber vielleicht hilft es ja. <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>
</blockquote>
<p>Ich weiß noch dass mich diese Meldung früher auch oft verwirrt hat. Discards qualifiers ist doch recht allgemein gehalten <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>
<pre><code class="language-cpp">template&lt;typename T&gt;
class Matrix
{
public:

   T getElement(size_t i, size_t j) const;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1895256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1895256</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Mon, 10 May 2010 16:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to Ich verstehe diese Compiler-Fehler nicht on Mon, 10 May 2010 18:37:46 GMT]]></title><description><![CDATA[<p>Japp, des wors. Besten Dank. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1895317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1895317</guid><dc:creator><![CDATA[HändyÄndy]]></dc:creator><pubDate>Mon, 10 May 2010 18:37:46 GMT</pubDate></item></channel></rss>