<?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[no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27;]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich bastel gerade an nem (Anfänger-) Programm und bräuchte eure Hilfe.</p>
<p>Könnt ihr mir helfen?Fehler ist,wie oben beschrieben:<br />
no match for 'operator=' in 'BruderVonPeter = Peter.matrix::getTransposed'<br />
candidates are: matrix&amp; matrix::operator=(const matrix&amp;)</p>
<p>Wäre super!<br />
Edit: Entry ist nen Vector per #include &lt;vector&gt; ,Klasse hat private Variablen,numOfRows,numOfColumns.<br />
Edit2:Der Übersichtlichkeit wegen Code gelöscht,da der unten identisch ist!Fehler war matrix matrix&amp;:: anstatt matrix&amp; matrix:: !</p>
<p>Machts gut,<br />
Noah</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/228782/no-match-for-operator-in-brudervonpeter-peter-matrix-gettransposed</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 08:35:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/228782.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Dec 2008 19:05:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Wed, 03 Dec 2008 10:57:23 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich bastel gerade an nem (Anfänger-) Programm und bräuchte eure Hilfe.</p>
<p>Könnt ihr mir helfen?Fehler ist,wie oben beschrieben:<br />
no match for 'operator=' in 'BruderVonPeter = Peter.matrix::getTransposed'<br />
candidates are: matrix&amp; matrix::operator=(const matrix&amp;)</p>
<p>Wäre super!<br />
Edit: Entry ist nen Vector per #include &lt;vector&gt; ,Klasse hat private Variablen,numOfRows,numOfColumns.<br />
Edit2:Der Übersichtlichkeit wegen Code gelöscht,da der unten identisch ist!Fehler war matrix matrix&amp;:: anstatt matrix&amp; matrix:: !</p>
<p>Machts gut,<br />
Noah</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624559</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Wed, 03 Dec 2008 10:57:23 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Tue, 02 Dec 2008 19:58:03 GMT]]></title><description><![CDATA[<p>Du müsstest schon die Funktionsaufruf-Klammern schreiben. <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">BruderVonPeter=Peter.getTransposed();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1624579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624579</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 02 Dec 2008 19:58:03 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Wed, 03 Dec 2008 10:59:32 GMT]]></title><description><![CDATA[<p><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="😃"
    /> Ups!<br />
Dann hats geklappt,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>So,aber irgendwie klappen nun andere Dinge nicht!Und zwar:</p>
<pre><code class="language-cpp">int main()
{matrix Peter(3,2);
        Peter.set(0,0,9);
        Peter.set(0,1,2);
        Peter.set(1,0,3);
        Peter.set(1,1,4);
        Peter.set(2,0,5);
        Peter.set(2,1,6);

        cout&lt;&lt;&quot;Hallo&quot;&lt;&lt;&quot;\n&quot;;
        Peter.dump();
        cout&lt;&lt;&quot;\n&quot;;
        matrix Jochen=Peter.getTransposed(); // 1: Hier erste Fehler,gibt nen Abbruch.Die zugeh. Funktion ist *
        Jochen.dump(); //bzw. hier,keine Ahnung,was von den beiden dann nen Fehler gibt.
        cout&lt;&lt;&quot;\n&quot;;
 matrix BruderVonPeter(3,2);
        BruderVonPeter=Peter; // 2 :Hier das zweite Problem,wo nicht alles zugewiesen wird!
        BruderVonPeter.dump();
        cin.get();        
}
</code></pre>
<p>Das ist wieder die testmatrix.cpp und dann noch</p>
<pre><code class="language-cpp">matrix :: matrix (const int &amp;numOfRows, const int &amp;numOfColumns )
{
  this-&gt;numOfRows=numOfRows;
  this-&gt;numOfColumns=numOfColumns;

  entry.resize(numOfRows);

	for (int i=0; i&lt;entry.size(); i++)
	{ 
	 entry[i].resize(numOfColumns);
	}

};

matrix :: matrix (const matrix&amp; q)
{
       this-&gt;numOfRows=q.numOfRows;
       this-&gt;numOfColumns=q.numOfColumns;
       for(int i=0;i&lt;this-&gt;numOfColumns;i++)
		{
			for(int j=0;j&lt;this-&gt;numOfRows;j++)
			{
	 		 this-&gt;entry[i][j]=q.entry[i][j];
			}
		}
};

matrix matrix :: getTransposed() const  // 1
{

 matrix transposed (this-&gt;numOfColumns,this-&gt;numOfRows);

	for(int i=0;i&lt;this-&gt;numOfColumns;i++)
		{
			for(int j=0;j&lt;this-&gt;numOfRows;j++)
			{
	 		 transposed.entry[i][j]=this-&gt;entry[j][i];
			}
		}
 return transposed;
} ;

void matrix :: dump() const
 {for (int i=0;i&lt;this-&gt;numOfRows;i++)
      {   cout&lt;&lt;&quot;\n&quot;;
           for(int j=0;j&lt;this-&gt;numOfColumns;j++)
                   {cout&lt;&lt;this-&gt;get(i,j);
                   cout&lt;&lt;&quot;\t&quot;;
                   };
      }

 };
matrix&amp; matrix::operator = ( const matrix &amp;rhsMatrix )  // 2: Operator,der Sorgen macht
{       if (this-&gt;numOfRows==rhsMatrix.numOfRows &amp;&amp; this-&gt;numOfColumns==rhsMatrix.numOfColumns)
        {
        for(int i=0;i&lt;this-&gt;numOfColumns;i++)
		{
			for(int j=0;j&lt;this-&gt;numOfRows;j++)
			{
	 		 this-&gt;entry[i][j]=rhsMatrix.entry[i][j];  //Hatte das im Programm geändert,hilft leider nichts :(
			}
		}
			return *this;
      }
      else
          {cerr&lt;&lt;&quot;Die Matrizen passen nicht zueinander!&quot;;
          }
  };

matrix matrix::operator + ( const matrix &amp;rhsMatrix ) const
{      matrix addition(this-&gt;numOfRows,this-&gt;numOfColumns);

       for(int q=0;q&lt;this-&gt;numOfColumns;q++)
		{
			for(int s=0;s&lt;this-&gt;numOfRows;s++)
			{
	 		 addition.entry[q][s]=this-&gt;entry[q][s]+rhsMatrix.entry[q][s];
			}

		}
return addition;
  };

matrix&amp; matrix::operator += ( const matrix &amp;rhsMatrix )
{for(int i=0;i&lt;this-&gt;numOfColumns;i++)
		{
			for(int j=0;j&lt;this-&gt;numOfRows;j++)
			{
	 		 this-&gt;entry[i][j]=+rhsMatrix.entry[i][j];
	 		 }
          }
          return *this;

  };

matrix matrix::operator * ( const matrix &amp;rhsMatrix ) const
{     matrix multi(this-&gt;numOfRows,rhsMatrix.numOfColumns);

       for(int q=0;q&lt;this-&gt;numOfColumns;q++)
		{
			for(int s=0;s&lt;this-&gt;numOfRows;s++)
			{
	 		 multi.entry[q][s]=this-&gt;entry[q][s]*rhsMatrix.entry[q][s];
			}
		};
			return multi;

  }
</code></pre>
<p>Das Problem ist folgendes:Kompilieren klappt,dann bricht das Programm aber ab und gibt dieses Problem festgestellt an und muss beendet werden.Das hat was mit .getTransposed * zu tun,wenn ich das wegkommentiere,passt das.<br />
Dann ist das zweite Problem,dass ich bei ** mit dem Zuweisungsoperator nur die erste Zeile zuweise,der Rest Null bleibt!Wenn ich das mit dem Standard-Copy mache,dann geht das komplett!Woran könnte das liegen?</p>
<p>Machts gut,<br />
Noah!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624618</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Wed, 03 Dec 2008 10:59:32 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Wed, 03 Dec 2008 07:29:47 GMT]]></title><description><![CDATA[<p>Könntest du bitte das nächste mal anstatt ** Zahlen, oder Buchstaben nehmen? Zuerst dachte ich, dass es sich da um irgenwas mit Dereferenzierung handelt. <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="😉"
    /> - Die Sternchen haben sehr viele Bedeutung in C++. <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">matrix&amp; matrix::operator = ( const matrix &amp;rhsMatrix )  // ** Operator,der Sorgen macht
{       if (this-&gt;numOfRows==rhsMatrix.numOfRows &amp;&amp; this-&gt;numOfColumns==rhsMatrix.numOfColumns)
        {
        for(int i=0;i&lt;this-&gt;numOfColumns;i++)
        {
            for(int j=0;j&lt;this-&gt;numOfRows;j++)
            {
              this-&gt;entry[i][j]=this-&gt;entry[i][j]; // &lt;--------- hier
            }
        }
            return *this;
      }
      else
          {cerr&lt;&lt;&quot;Die Matrizen passen nicht zueinander!&quot;;
          }
  };
</code></pre>
<p>Also hier drin ist sicher schon mal etwas falsch..</p>
<p>Dann würde ich hier auch eher eine Funktion schreiben, die für dich das kopieren übernimmt, ansonsten musst du den Code an mehreren Stellen ändern, wenn du was ändern willst. ( Oder am besten mit den Standardfunktionen, wie std::for_each usw. arbeiten )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624711</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 03 Dec 2008 07:29:47 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Wed, 03 Dec 2008 11:00:58 GMT]]></title><description><![CDATA[<p>Alles klar,mach ich! 1*,2*... <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>Oh,ja,das hatte ich bei mir geändert,aber anscheinend nicht in dem Beitrag gemacht.Da müsste natürlich</p>
<pre><code class="language-cpp">this-&gt;entry[i][j]=rhsMatrix.entry[i][j];
</code></pre>
<p>stehen...</p>
<p>Aber wieso funktioniert das im CopyKonstruktor(Zeile 16 ff) ,aber nicht in z.B. getTransposed (29 ff)?Im Grunde müsste das doch gehen...<br />
Und es funktioniert leider immer noch nicht :(!<br />
Was meinst du denn mit den Standard Funktionen,bzw,wo schaut man die nach?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624842</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Wed, 03 Dec 2008 11:00:58 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Wed, 03 Dec 2008 11:39:15 GMT]]></title><description><![CDATA[<p>Standardzeugs gibts hier:<br />
<a href="http://www.cplusplus.com/reference/" rel="nofollow">http://www.cplusplus.com/reference/</a></p>
<p>speziell für dich habe ich diese Sektion gedacht: (sehr nützlich ;))<br />
<a href="http://www.cplusplus.com/reference/algorithm/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/</a></p>
<p>Ich weiss nicht genau, was da nicht geht, aber geh da doch einfach mal mit dem Debugger durch, dann siehst du ja, wo etwas passiert, dass du nicht willst. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1624871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624871</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 03 Dec 2008 11:39:15 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Wed, 03 Dec 2008 15:34:57 GMT]]></title><description><![CDATA[<p>Noah schrieb:</p>
<blockquote>
<p>Aber wieso funktioniert das im CopyKonstruktor(Zeile 16 ff) ,aber nicht in z.B. getTransposed (29 ff)?Im Grunde müsste das doch gehen...<br />
Und es funktioniert leider immer noch nicht :(!<br />
Was meinst du denn mit den Standard Funktionen,bzw,wo schaut man die nach?</p>
</blockquote>
<p>Bist noch nicht mit dem Debugger durchgegangen, oder?<br />
Deine innere for-Schleife ist falsch - dadurch, dass du dort auch noch mal alle Elemente durchgehst, hast du nicht nur alles richtig getauscht sondern danach auch wieder alles zurückgetauscht...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1624988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1624988</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 03 Dec 2008 15:34:57 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Wed, 03 Dec 2008 17:06:47 GMT]]></title><description><![CDATA[<p>Den Debugger mag ich nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> Bin den von VBA gewohnt... <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="😃"
    /><br />
Ehm,jo,du hattest Recht,hab bei den Schleifen Zeile und Spalte vertauscht gehabt (Copy Paste von getTransposed) und den return zu früh(Hatte das irgendwie schon geändert,aber irgendwie hatte der das nicht geändert).<br />
Was ich allerdings immer noch nicht verstehe,warum der beim Kompilieren nichts sagt,aber dann abbricht bei 2!(Der Operator klappt nun :D)</p>
<pre><code class="language-cpp">matrix Jochen=Peter.getTransposed();
        Jochen.dump();
</code></pre>
<p>und</p>
<pre><code class="language-cpp">matrix :: matrix (const int &amp;numOfRows, const int &amp;numOfColumns )
{
  this-&gt;numOfRows=numOfRows;
  this-&gt;numOfColumns=numOfColumns;

  entry.resize(numOfRows);

	for (int i=0; i&lt;entry.size(); i++)
	{ 
	 entry[i].resize(numOfColumns);
	}

};

matrix :: matrix (const matrix&amp; q)
{
       this-&gt;numOfRows=q.numOfRows;
       this-&gt;numOfColumns=q.numOfColumns;
       entry.resize(numOfRows);

	for (int i=0; i&lt;entry.size(); i++)
	{ 
	 entry[i].resize(numOfColumns);
	}
       for(int i=0;i&lt;this-&gt;numOfRows;i++)
        {
            for(int j=0;j&lt;this-&gt;numOfColumns;j++)
            {
              this-&gt;entry[i][j]=q.entry[i][j];
            }
        }
};
</code></pre>
<p>Wobei mir der aber jetzt noch nen anderen Fehler ausgibt,nämlich:<br />
definition of implicitly-declared `matrix::matrix(const matrix&amp;)'</p>
<p>Und falls ich dann den Copy Konstruktor weglasse,würds ja in die Hose gehen wegen Abbruch.<br />
Und falls ich Copy weglasse UND vorher Jochen als neue Matrix ala matrix Jochen(2,3) definiere,meckert der wg. erneuter Deklaration.</p>
<p>Wieso gibts keinen Wein Smilie?</p>
<p>Machs gut,<br />
Noah</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1625029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1625029</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Wed, 03 Dec 2008 17:06:47 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Thu, 04 Dec 2008 00:37:22 GMT]]></title><description><![CDATA[<p>Wie wärs also damit:</p>
<pre><code class="language-cpp">void matrix::init ()
{
//gegebenenfalls noch ne prüfung der werte gegen 0 weil das ja nu ne sooo viel Sinn macht ^^
  entry.reserve(numOfRows);
  for(int i (0); i != numOfRows; ++i)
  {
    RowType X;
    for(int j (0); j != numOfColumns; ++j)
    {
      X.push_back(0);
    }
    entry.push_back(X);
  }
}

matrix::matrix (int numOfRows, int numOfColumns)
:  numOfRows(numOfRows), numOfColumns(numOfColumns)
{
  init();
}
</code></pre>
<p>sieht das nicht etwas besser aus?</p>
<pre><code class="language-cpp">void matrix::swap (const matrix &amp;rhs)
{
  for(int i (0); i != numOfColumns; ++i)
  {
    for(int j (0); j != numOfRows; ++j)
    {
      entry[i][j] = rhs.entry[j][i];
    }
  }
}

matrix::matrix (const matrix &amp;rhs)
:  numOfRows(rhs.numOfRows), numOfColumns(rhs.numOfColumns)
{
  init();
  swap(rhs);
}
</code></pre>
<p>so siehts ja evtl auch scho etwas übersichtlicher aus</p>
<pre><code class="language-cpp">matrix matrix::getTransposed () const
{
  matrix R(numOfColumns, numOfRows);

  for(int i (0); i != numOfColumns; ++i)
  {
    for(int j (0); j != numOfRows; ++j)
    {
      R.entry[i][j] = entry[j][i];
    }
  }
  return R;
}
</code></pre>
<p>und so sollte es wenigstens richtig sein</p>
<p>bb</p>
<p>PS: Kanns sein, dass das Forum in letzter Zeit irgendwie ständig rumspackt? oO</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1625183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1625183</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 04 Dec 2008 00:37:22 GMT</pubDate></item><item><title><![CDATA[Reply to no match for &#x27;operator=&#x27; in &#x27;BruderVonPeter = Peter.matrix::getTransposed&#x27; on Thu, 04 Dec 2008 15:18:39 GMT]]></title><description><![CDATA[<p>Ja,das stimmt...manchmal komme ich nicht drauf...</p>
<p>Hmm...es geht immer noch nicht mit getTransposed <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=":'("
      alt="😢"
    /></p>
<p>Naja,is egal.Dann transponier ich halt nicht.Braucht eh keiner.</p>
<p>Danke euch <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/1625495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1625495</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Thu, 04 Dec 2008 15:18:39 GMT</pubDate></item></channel></rss>