<?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[Mehrdimensionale Arrays; dynamischer Speicher;]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich soll eine Klasse implementieren, die ein (MxN)-Matrix modelliert. Die Matrixelemente sollen im dynamischen Speicher abgelegt werden.</p>
<p>Das UML-Klassendiagramm, den Konstruktor und manche Methoden konnte ich implementieren. Ich scheitere momentan an dieser Methode :</p>
<pre><code>bool setElementAt(int m,int n,double value)
</code></pre>
<p>Setzt das Matrixelement an der angegebenen Zeile und Spalte auf einen neuen Wert.<br />
(Dazu soll ich die Methode</p>
<pre><code>getArrayIndex(int m, int n)
</code></pre>
<p>benutzen).</p>
<p><strong>Ich bekomme andauernd folgende Fehlermeldung :</strong></p>
<p>-extended initializer only available...<br />
-invalid types...</p>
<p>Zu den Attributen der Klasse:</p>
<pre><code>int m_rows, m_cols, m_size;
double* m_pArray;
</code></pre>
<p>//Konstruktor :</p>
<pre><code>CMatrix::CMatrix(int M, int N)
{
   if(M &amp;&amp; N ==0) 
   {
     m_rows =2; m_cols=2;
   }
   else 
     m_rows = M; m_cols=N; m_size = m_rows*m_cols;

     m_pArray = new double [m_size];
</code></pre>
<p>//Destruktor:</p>
<pre><code>CMatrix::~Matrix()
delete [] m_pArray;
</code></pre>
<p>//getArrayIndex</p>
<pre><code>int CMatrix::getArrayIndex(int m ,int n)
{
   double i=0;
   if(//zusicherungen)
   {
     i=(m-1)*n+n-1; return i;
   }
   else if(//zusicherungen)
   {
     return -1;
   } 
    return 0;
</code></pre>
<p>//setElementAt</p>
<pre><code>bool CMatrix::setElementAt(int m, int n, double value)
{
    double index = getArrayIndex(m,n);
    if(//zusicherung)
    {
       return false;
    }
    else
       m_pArray[index] = {value}; return true; //Fehler
</code></pre>
<p>Ich hoffe ich konnte mein Problem gut schildern <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=":/"
      alt="😕"
    /> falls noch fragen sind, kann ich vllt ein Bild hochladen oder so :S..Vielen Dank schonmal !</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/326121/mehrdimensionale-arrays-dynamischer-speicher</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 09:38:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/326121.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Jun 2014 15:38:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Mon, 02 Jun 2014 15:38:37 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich soll eine Klasse implementieren, die ein (MxN)-Matrix modelliert. Die Matrixelemente sollen im dynamischen Speicher abgelegt werden.</p>
<p>Das UML-Klassendiagramm, den Konstruktor und manche Methoden konnte ich implementieren. Ich scheitere momentan an dieser Methode :</p>
<pre><code>bool setElementAt(int m,int n,double value)
</code></pre>
<p>Setzt das Matrixelement an der angegebenen Zeile und Spalte auf einen neuen Wert.<br />
(Dazu soll ich die Methode</p>
<pre><code>getArrayIndex(int m, int n)
</code></pre>
<p>benutzen).</p>
<p><strong>Ich bekomme andauernd folgende Fehlermeldung :</strong></p>
<p>-extended initializer only available...<br />
-invalid types...</p>
<p>Zu den Attributen der Klasse:</p>
<pre><code>int m_rows, m_cols, m_size;
double* m_pArray;
</code></pre>
<p>//Konstruktor :</p>
<pre><code>CMatrix::CMatrix(int M, int N)
{
   if(M &amp;&amp; N ==0) 
   {
     m_rows =2; m_cols=2;
   }
   else 
     m_rows = M; m_cols=N; m_size = m_rows*m_cols;

     m_pArray = new double [m_size];
</code></pre>
<p>//Destruktor:</p>
<pre><code>CMatrix::~Matrix()
delete [] m_pArray;
</code></pre>
<p>//getArrayIndex</p>
<pre><code>int CMatrix::getArrayIndex(int m ,int n)
{
   double i=0;
   if(//zusicherungen)
   {
     i=(m-1)*n+n-1; return i;
   }
   else if(//zusicherungen)
   {
     return -1;
   } 
    return 0;
</code></pre>
<p>//setElementAt</p>
<pre><code>bool CMatrix::setElementAt(int m, int n, double value)
{
    double index = getArrayIndex(m,n);
    if(//zusicherung)
    {
       return false;
    }
    else
       m_pArray[index] = {value}; return true; //Fehler
</code></pre>
<p>Ich hoffe ich konnte mein Problem gut schildern <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=":/"
      alt="😕"
    /> falls noch fragen sind, kann ich vllt ein Bild hochladen oder so :S..Vielen Dank schonmal !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402081</guid><dc:creator><![CDATA[Quadknick]]></dc:creator><pubDate>Mon, 02 Jun 2014 15:38:37 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Mon, 02 Jun 2014 16:05:51 GMT]]></title><description><![CDATA[<p>In deiner getArrayIndex warum ist i von Typ double? Du gibst ein int zurück.<br />
Bei setElementAt index ist ein double aber getArrayIndex gibt ein int zurück.<br />
&quot;m_pArray[index]&quot; index ist vom Typ double.<br />
Solltes auf das Problem jetzt selber kommen <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402083</guid><dc:creator><![CDATA[Anonymous123]]></dc:creator><pubDate>Mon, 02 Jun 2014 16:05:51 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Mon, 02 Jun 2014 16:25:45 GMT]]></title><description><![CDATA[<p><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="🙄"
    /> ups xD</p>
<p>okay ich hab jetzt folgendes:</p>
<pre><code>int index = getArrayIndex(m,n);
</code></pre>
<p>jetzt wird</p>
<pre><code>m_pArray[index]={value};
</code></pre>
<p>gelbfarbig,<br />
der Compiler schreibt :</p>
<p>- warning: extended initalizer lists only available with -std=c++0x or -std=gnu++0x[enabled by default]</p>
<p>liegt es daran das</p>
<pre><code>index
</code></pre>
<p>variabel ist?</p>
<p>Ich danke dir schonmal sehr <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/2402088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402088</guid><dc:creator><![CDATA[Quadknick]]></dc:creator><pubDate>Mon, 02 Jun 2014 16:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Mon, 02 Jun 2014 16:36:45 GMT]]></title><description><![CDATA[<p>Also hier sind ein paar komische Sachen im Code</p>
<pre><code>if(M &amp;&amp; N ==0)
</code></pre>
<p>Du willst sicher ausdrücken &quot;Wenn M und N null sind&quot;:</p>
<pre><code>if(M == 0 &amp;&amp; N == 0)
</code></pre>
<p>Per impliziter Konvertierung von int nach bool funktioniert das sicher, was ist aber, wenn du auf einen anderen Wert prüfen willst? Dann geht das nicht mehr. Besser immer richtig schreiben.</p>
<p>Aber: Warum prüftst du überhaupt auf 0 und gibst den Variablen Standardwerte? Warum nicht gleich Default-Parameter und eine Exception bei m&lt;=0 &amp;&amp; n&lt;=0?</p>
<pre><code>CMatrix::~Matrix()
delete [] m_pArray;
</code></pre>
<p>Bei Schleifen und if kannst du zwar die geschweiften Klammern weglassen, aber bei Funktionen geht das nicht.</p>
<p>Anonymous123 hat ja schon einen Fehler geschrieben:</p>
<pre><code>double i=0;
</code></pre>
<p>Deine Daten sind zwar doubles, der Index aber nicht. Ein sinnvoller Datentype wäre beispielsweise std::size_t. Den musst du dann auch als Rückgabetyp von getArrayIndex angeben.</p>
<p>Während dem Schreiben ist noch eine Antwort reingekommen:</p>
<pre><code>m_pArray[index]={value};
</code></pre>
<p>Wieso hast du die geschweiften Klammern? Mach die weg, dann sollte es klappen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402090</guid><dc:creator><![CDATA[patrick246]]></dc:creator><pubDate>Mon, 02 Jun 2014 16:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Mon, 02 Jun 2014 16:50:21 GMT]]></title><description><![CDATA[<p>Okay, stimmt statt</p>
<pre><code>if(M &amp;&amp; N ==0)
</code></pre>
<p>kann/sollte ich schreiben:</p>
<pre><code>if (m&lt;=0 &amp;&amp; n&lt;=0)
</code></pre>
<p>Laut dem UML-Klassendiagramm wird m_rows und m_cols mit 2 initialisiert.<br />
Ich dachte, dass ich das im Konstruktor definieren muss.</p>
<p>Oh, tut mir leid, in Wirklichkeit gibt es diese Klammer :S.</p>
<p>Ich habe leider nicht so einen großen Spielraum.<br />
Das ist eine Aufgabe von der Uni und ich muss mich an das Klassendiagramm halten :/. size_t kenne ich noch gar nicht, für was steht dieser Datentyp?</p>
<p>Mh, irgendwie dachte ich die gehören dahin, hast recht ohne die Klammern funktionierts <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>Ich schau mal ob noch weitere Probleme auftreten, ich muss das Projekt eh heute noch fertigstellen, also bitte den Thread nicht schließen.</p>
<p>Vielen Dank für Eure hilfe <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/2402091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402091</guid><dc:creator><![CDATA[Quadknick]]></dc:creator><pubDate>Mon, 02 Jun 2014 16:50:21 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Wed, 11 Jun 2014 22:00:42 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402093</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 11 Jun 2014 22:00:42 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Mon, 02 Jun 2014 17:25:36 GMT]]></title><description><![CDATA[<pre><code>CMatrix(int M = 2, int N = 2)
</code></pre>
<p>Wenn nichts angegeben, sollen M und N 2 sein. (Beachte: Kein CMatrix:: davor, das muss nämlich in die Klassendefinition)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402095</guid><dc:creator><![CDATA[patrick246]]></dc:creator><pubDate>Mon, 02 Jun 2014 17:25:36 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Tue, 03 Jun 2014 05:57:27 GMT]]></title><description><![CDATA[<p>Okay, hab ich so übernommen patrick246 <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>
<p>Ich saß noch bis spät Abends an meinem Programm.<br />
Bei meinem Programm stimmt nur ne Kleinigkeit noch nicht.</p>
<p>In der main habe ich folgende Schleife :</p>
<pre><code>int M, N;
	M = 4; N = 3;
	matrix.getDimension(M,N);
	int m =1;
	int v =0;

	for(int n=1; m&lt;=M ;n++)
	{
		matrix.setElementAt(m,n,v);
		abs(v);
		v++;

		if (v % 2 != 0) {v = v *-1;}

		if(n==N)
		{
			n = 0; m++;
		}

	}
</code></pre>
<p>Eigentlich soll ich ein Matrix-Feld von :</p>
<p>0 -1 2<br />
-3 4 -5<br />
6 -7 8<br />
-9 10 -11</p>
<p>aufbauen. Raus kommt jedoch :</p>
<p>0 -1 0<br />
-1 -1 -1<br />
0 -1 0<br />
-1 0 -1</p>
<p>und ich weiß einfach nicht wieso <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=":/"
      alt="😕"
    /></p>
<p>An setElementAt hat sich nichts verändert <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="😞"
    /></p>
<p>Ich Danke euch für Eure Hilfe <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=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402145</guid><dc:creator><![CDATA[Quadknick]]></dc:creator><pubDate>Tue, 03 Jun 2014 05:57:27 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Tue, 03 Jun 2014 06:29:41 GMT]]></title><description><![CDATA[<p>1. Was macht getDimension? Dem Namen nach sollte sie die Dimensionen der Matrix zurückgeben, stattdessen nimmt sie Werte entgegen.</p>
<p>2. Eine NxM-Matrix kannst du mit folgender Schleife durchlaufen, angenommen die erste Position ist (0|0) und die letzte Position ist (N-1|M-1):</p>
<pre><code>int counter = 0;
for(int n = 0; n &lt; N; ++n)
{
    for(int m = 0; m &lt; M; ++m)
    {
        if((counter % 2) == 0)
            matrix.setElementAt(n, m, counter);
        else
            matrix.setElementAt(n, m, -counter);
    }
}
</code></pre>
<p>3. getArrayIndex</p>
<pre><code>std::size_t getArrayIndex(std::size_t y, std::size_t x)
{
    return y * m_breite + x;
}
</code></pre>
<p>4. setElementAt</p>
<pre><code>void setElementAt(std::size_t y, std::size_t x, double value)
{
    m_data[getArrayIndex(y,x)] = value;
}
</code></pre>
<p>Stimmen die letzten beiden ungefähr mit deinem Code überein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402146</guid><dc:creator><![CDATA[patrick246]]></dc:creator><pubDate>Tue, 03 Jun 2014 06:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Tue, 03 Jun 2014 08:35:54 GMT]]></title><description><![CDATA[<p>Quadknick schrieb:</p>
<blockquote>
<pre><code>CMatrix::CMatrix(int M, int N)
{
   if(M &amp;&amp; N ==0) 
   {
     m_rows =2; m_cols=2;
   }
   else 
     m_rows = M; m_cols=N; m_size = m_rows*m_cols;

     m_pArray = new double [m_size];
</code></pre>
</blockquote>
<p>der else Zweig sieht auch sehr ungesund aus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402159</guid><dc:creator><![CDATA[KN4CK3R]]></dc:creator><pubDate>Tue, 03 Jun 2014 08:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Tue, 03 Jun 2014 10:11:09 GMT]]></title><description><![CDATA[<pre><code>int CMatrix::getArrayIndex(int m ,int n)
{
   double i=0;
   if(//zusicherungen)
   {
     i=(m-1)*n+n-1; return i; // &lt;====== *n muss *m_cols heissen!
   }
   else if(//zusicherungen)
   {
     return -1;
   } 
    return 0;
</code></pre>
<p>Und 1-basierte Indexe sind selten ne gute Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402167</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 03 Jun 2014 10:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Wed, 04 Jun 2014 09:14:53 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>ich war am Dienstag im Labor und da haben wir den Fehler schnell gefunden.<br />
Hustbaer du hast recht! n muss m_cols heissen.</p>
<p>Desweiteren habe ich die main-Schleife folgendermassen umprogrammiert :</p>
<pre><code>int z=1; int v=0; int M,N; M=4, N =3;
matrix.getDimension(M,N);
for(int m=1; m&lt;M; m++)
{
   for(int n=1;n&lt;=N;n++)
   {
      matrix.setElementat(m,n,z*v);
      v++;
      z *= -1; 
   }
}

matrix.print();
</code></pre>
<p>Nun habe ich wie folgt ein neues Problem.<br />
Wir sollten der CMatrix Klasse weitere Methoden hinzufügen<br />
und dabei</p>
<pre><code>enum
</code></pre>
<p>benutzen.</p>
<pre><code>enum INI_MODE{INIT_ZEROS, INIT_UNIT,INIT_RAND}
</code></pre>
<p>Die zugefügten Methoden lauten :</p>
<pre><code>CMatrix(int dm, INI_MODE mode = INIT_ZEROS);
void operator *= (float rop);
CMatrix&amp; operator = (const CMatrix&amp; rop)const;
CMatrix operator + (const CMatrix&amp; rop)const;
CMatrix operator * (const CMatrix&amp; rop)const;
friend ostream&amp; operator &lt;&lt; (ostream&amp; lop, const CMatrix&amp; rop);
</code></pre>
<p>Ich habe schon einige implementiert und hänge nun bei dem <strong>Zuweisungsoperator</strong> <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=":/"
      alt="😕"
    /></p>
<p>Dafür sollten wir uns an ein Aktivitätsdiagramm halten :</p>
<p>..............................<strong>Start :</strong></p>
<p>[Speichergröße der<br />
Operanden stimmt nicht......(Anzeige einer Meldung)<br />
überein]....................(Freigeben des alten Speicherplatzes)<br />
............................(Allokieren von Speicher der Größe des<br />
.............................rechten Operanden)<br />
............................(aktualisieren des Attributs der Speichergröße)</p>
<p>[Speichergröße der<br />
Operanden stimmt............(if schleife erfüllt)<br />
überein]</p>
<p>[Anzahl von Zeilen oder<br />
Spalten stimmt nicht bei.....(aktualisieren der Attribute für<br />
beiden Operanden überein]....Zeilen - und Spaltenzahl)</p>
<p>[Anzahl von Zeilen oder<br />
Spalten stimmt nicht bei.....(if Schleife erfüllt)<br />
beiden Operanden überein]</p>
<p>.............................(Kopieren der Matrix-Elemente<br />
.............................des rechten Operanden in das Array<br />
.............................des linken Operanden)<br />
.............................(Der linke Operand gibt sich selbst zurück)</p>
<p>............................ <strong>Ende:</strong></p>
<p>Mein Code sind folgendermaßen aus :</p>
<pre><code>CMatrix&amp; CMatrix ::operator = (const CMatrix&amp; rop)const
{
	int m_cols2 = rop.m_cols;
	int m_rows2 = rop.m_rows;
	int m_size2 = m_cols2 * m_rows2;

	double* m_Array;
	m_Array = new double [m_size2];

	if (m_size2 == rop.m_size)
	{
		if (m_cols2 == rop.m_cols &amp;&amp; m_rows2 == rop.m_rows)
		{
			int v = rop.getArrayIndex(rop.m_rows, rop.m_cols);
			int z = rop.getArrayIndex(m_rows2, m_cols2);

				for(int m = 1; m&lt;=rop.m_rows; m++)
				{
					for(int n=1; n&lt;=rop.m_cols ;n++)
					{
						m_pArray[v] = m_Array[z];

					}

				}

		}

	}
	else if (m_size2 != rop.m_size )
	{
		cout &lt;&lt; &quot;veraendere Groesse der Matrix!&quot;&lt;&lt;endl;
		delete [] m_Array;
		m_Array = new double [rop.m_size];

		if (m_cols2 != rop.m_cols &amp;&amp; m_rows2 != rop.m_rows)
		{
			m_cols2 = rop.m_cols;
			m_rows2 = rop.m_rows;

			int v = rop.getArrayIndex(rop.m_rows, rop.m_cols);
			int z = rop.getArrayIndex(m_rows2, m_cols2);

			for(int m = 1; m&lt;=rop.m_rows; m++)
			{
				for(int n=1; n&lt;=rop.m_cols ;n++)
				{

					m_pArray[v] = m_Array[z];
				}

			}
		}

	}

}
</code></pre>
<p>Ich glaube ich hab ein Problem mit der Vorstellung welcher operand rechts und welcher Links steht <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=":/"
      alt="😕"
    /> das im Parameter übergebene Objekt ist das der rechte<br />
oder der Linke Operand? <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=":/"
      alt="😕"
    /><br />
Zu dem erhalte ich den Fehler no return..aber einen der Zeiger zurückzugeben funktioniert nicht :S</p>
<p>weiß jemand einen Rat?</p>
<p>Vielen Dank und tut mir leid, dass ich wieder mit was neuem beginne :S</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402325</guid><dc:creator><![CDATA[Quadknick]]></dc:creator><pubDate>Wed, 04 Jun 2014 09:14:53 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Wed, 04 Jun 2014 12:40:56 GMT]]></title><description><![CDATA[<pre><code>// links |   rechts
   x     +     y;
   x.operator+(y); // Die obere Variante ist nur die faule, schönere Schreibweise.
</code></pre>
<p>Offensichtlich ist der Operand rechts vom Operator der Parameter. Und der Operand links vom Operator ist das Objekt, das verändert wird. <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>
<p>Logischerweise willst du das veränderte Objekt zurückgeben, für den Fall, dass andere Funktionen sofort mit dem veränderten Objekt weiterarbeiten können, also <code>return *this;</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402379</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Wed, 04 Jun 2014 12:40:56 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrdimensionale Arrays; dynamischer Speicher; on Wed, 04 Jun 2014 12:59:42 GMT]]></title><description><![CDATA[<p>+ als Operator zu wählen, war natürlich doof. Denk dir einfach <code>=</code> statt <code>+</code> in meinem Beispiel. <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402382</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Wed, 04 Jun 2014 12:59:42 GMT</pubDate></item></channel></rss>