<?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[Matrix initalisieren]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:</p>
<p>ich brauche eine 5*5 Matrix, die als Werte jeweils eine long Array von 3 Elementen hat.</p>
<p>Leider funktioniert folgende Initalisierung im Konstruktor einer Klasse nicht:</p>
<pre><code class="language-cpp">PosMatrix[Y][X] = {
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) }
	};
</code></pre>
<p>Definiert habe ich die Matrix als private Variable wie folgt:</p>
<pre><code class="language-cpp">long *PosMatrix[Y][X];
</code></pre>
<p>Die Zahlen sind jetzt nur als Beispiel, es werden später ganz unterschiedliche Werte eingesetzt.</p>
<p>Vielen Dank im Voraus für Eure Hilfe.</p>
<p>Gruß LosWebos</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183985/matrix-initalisieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 14:27:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183985.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jun 2007 09:59:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:01:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem:</p>
<p>ich brauche eine 5*5 Matrix, die als Werte jeweils eine long Array von 3 Elementen hat.</p>
<p>Leider funktioniert folgende Initalisierung im Konstruktor einer Klasse nicht:</p>
<pre><code class="language-cpp">PosMatrix[Y][X] = {
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) },
		{ (1,2,3),(1,2,3),(1,2,3),(1,2,3),(1,2,3) }
	};
</code></pre>
<p>Definiert habe ich die Matrix als private Variable wie folgt:</p>
<pre><code class="language-cpp">long *PosMatrix[Y][X];
</code></pre>
<p>Die Zahlen sind jetzt nur als Beispiel, es werden später ganz unterschiedliche Werte eingesetzt.</p>
<p>Vielen Dank im Voraus für Eure Hilfe.</p>
<p>Gruß LosWebos</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302976</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:01:48 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:10:08 GMT]]></title><description><![CDATA[<p>LosWebos schrieb:</p>
<blockquote>
<p>Hallo,<br />
ich brauche eine 5*5 Matrix, die als Werte jeweils eine long Array von 3 Elementen hat.</p>
</blockquote>
<pre><code class="language-cpp">long array[5][5][3];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1302979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302979</guid><dc:creator><![CDATA[Vertexwahn]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:10:08 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:15:14 GMT]]></title><description><![CDATA[<p>Vertexwahn schrieb:</p>
<blockquote>
<pre><code class="language-cpp">long array[5][5][3];
</code></pre>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302983</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:15:14 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:19:07 GMT]]></title><description><![CDATA[<p>vielen Dank,</p>
<p>leider funktioniert das initalisieren der Matrix noch nicht:</p>
<p>Habe auch mal folgendes getestet:</p>
<pre><code class="language-cpp">PosMatrix[Y][X][3] = {
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }
	};
</code></pre>
<p>ich bekomme folgende Fehler (mehrfach):</p>
<blockquote>
<p>error C2059: Syntaxfehler: '{'<br />
error C2143: Syntaxfehler: Es fehlt ';' vor '{'<br />
error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
error C2447: '{': Funktionskopf fehlt - Parameterliste im alten Stil?</p>
</blockquote>
<p>Irgendwie verstehe ich das ganze nicht so ganz, warum das Fehler verursacht <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1302986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302986</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:19:07 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:24:47 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>du musst das Array schon initialisieren. In der expliziten Definition kannst du<br />
die Initialisierungsliste nicht verwenden.</p>
<p>gruss<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302992</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:24:47 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:27:32 GMT]]></title><description><![CDATA[<p>Edit: Quatsch, der Datentyp fehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302993</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:27:32 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:32:26 GMT]]></title><description><![CDATA[<p>hmm,</p>
<p>also ich habe das wie folgt gemacht:</p>
<p>in der Header:</p>
<pre><code class="language-cpp">private:
	CPaintDlg m_dlgPaint;
	long PosMatrix[Y][X][3];
</code></pre>
<p>Demnach kennt die KLasse ja schon diese Variable.</p>
<p>in der cpp:</p>
<pre><code class="language-cpp">CPositionDlg::CPositionDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CPositionDlg::IDD, pParent)
	, m_iXPos(0)
	, m_iYPos(0)
	, m_strAP1(_T(&quot;WLAN_Weber&quot;))
	, m_strAP2(_T(&quot;intern&quot;))
	, m_strAP3(_T(&quot;poldi&quot;))
	, m_RSSIAP1(0)
	, m_RSSIAP2(0)
	, m_RSSIAP3(0)
	, m_sBitmap(_T(&quot;&quot;))
	, m_dlgPaint(0)
{
	PosMatrix[Y][X][3] = {
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }
	};
}
</code></pre>
<p>Hier wollte ich die Matrix mit Werten füllen.<br />
das ist doch gar nicht in der Parameterliste, sondern im Konstruktor der Klasse.<br />
Wo kann ich denn die Matrix sonst initalisieren? Es macht doch eigentlich nur an dieser Stelle sinn (habe ich jedenfalls bis jetzt immer gedacht)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302996</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:32:26 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:35:52 GMT]]></title><description><![CDATA[<p>ÄÄÄh, tja.. seh ich auch so, keine Ahnung.</p>
<p>Edit: Vermutlich zu kompliziert für den Compiler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302998</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:35:52 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:40:27 GMT]]></title><description><![CDATA[<p>Was du vor hast geht leider nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303003</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:40:27 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:51:23 GMT]]></title><description><![CDATA[<p>Warum geht das nicht <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/1303012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303012</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:51:23 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:53:28 GMT]]></title><description><![CDATA[<p>proggingmania schrieb:</p>
<blockquote>
<p>Warum geht das nicht <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>
</blockquote>
<p>Weil man so ein Array entweder mit der Initialisierungsliste initialisiert oder<br />
aber die Elemente ganz normal zuweisen muss.</p>
<p>gruss<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303014</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:53:28 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:54:38 GMT]]></title><description><![CDATA[<p>wenn ich das Array direkt so initalisiere mit Angabe des Types geht es so.<br />
Aber dann habe ich nix davon, weil es keine Memebervariable der Klasse ist</p>
<p>Andere Lösung wäre evtl nur einen Pointer auf diese Matrix als Membervariable und die Matrix extern definieren.</p>
<p>Aber ich warte noch ein wneig ab. Vlt hat noch jmd einen Geistesblitz <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="🙂"
    /> Meine machen sich grade sehr rar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303016</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:54:38 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 10:55:40 GMT]]></title><description><![CDATA[<p>Axoh, dann also mit Schleifchen drumrum, sieht ja auch besser aus.</p>
<pre><code class="language-cpp">for ( int i = 0; i &lt; 5; i++ )
    {
			for ( int j = 0; j &lt; 5; j++ )
			{
				for ( int k = 0; k &lt; 3; k++ )
				{
					PosMatrix[i][j][k] = k+1;
				}
			}
	}
</code></pre>
<p><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/1303018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303018</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Mon, 11 Jun 2007 10:55:40 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 11:00:03 GMT]]></title><description><![CDATA[<p>das geht ja leider nicht, da später (falls es mal funktionieren sollte) die Werte alle unterschiedlich sein werden.</p>
<p>Als Hintergrund: Es wird eine bestimmte Kombination von 3 Werten in de Matrix gesucht, um daraus einen X/Y zu bekommen, der dann weiterverarbeitet wird.<br />
Demnach wird kein Element dem anderen gleichen. die 1,2,3 waren nur ein Bsp, um zu testen ob die Initalisierung funktioniert (was es leider nicht tut)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303021</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:00:03 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 11:02:02 GMT]]></title><description><![CDATA[<p>In welcher Form liegen dir die Daten denn vor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303027</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 11:04:08 GMT]]></title><description><![CDATA[<p>Mit den for-Schleifen kannst du die Initialisierung so machen, das funzt.<br />
Den Rest was du vorhast raff ich nicht.</p>
<p>Edit: Achso na dann pack doch die Suche nach einem Koordinatenwert auch in Schleifen ein <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/1303028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303028</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:04:08 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 11:05:22 GMT]]></title><description><![CDATA[<p>So jetzt ab in die Sonne, Mädels gucken... tschau. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303031</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:05:22 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 11:14:52 GMT]]></title><description><![CDATA[<p>Die Daten werden zuerst &quot;hart&quot; einprogrammiert, um meine Methoden zu testen.</p>
<p>Später werden die Daten über eine &quot;Teachingmethode&quot; eingelesen: Also eine X/Y Position mit Mauszeiger und Klick ergibt dann eine Kombination der drei Werte.<br />
Aber das kommt später.</p>
<p>Zuerst werde ich die drei Werte fest messen, für jede beliebige x/y Position und für die Testphase direkt in den Code einfügen.<br />
EDIT:</p>
<p>hab jetzt folgendes getestet:<br />
als membervariable:</p>
<pre><code class="language-cpp">long *PosMatrixPtr[Y];
</code></pre>
<p>als code im Konstruktor:</p>
<pre><code class="language-cpp">long PosMatrix[Y][X][3] = {
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }
	};

	for(int i=0; i&lt;Y; i++)
		PosMatrixPtr[i] = PosMatrix[i];
</code></pre>
<p>Aber leider bekomme ich wieder einen Fehler:+</p>
<blockquote>
<p>error C2440: '=': 'long [5][3]' kann nicht in 'long *' konvertiert werden</p>
</blockquote>
<p>Ich glaube ich gehe jetzt auch mal in die Sonne.....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303032</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:14:52 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 11:25:45 GMT]]></title><description><![CDATA[<p>Wieso hat deine Membervariable nur zwei Dimensionen? und wo holst du dir den Speicher für den Zeiger? Und wieso überhaupt ein Zeiger, wenn es doch ein Feld fester Größe ist?</p>
<p>Wie wäre es, wenn der Member auch einfach</p>
<pre><code class="language-cpp">long PosMatrixMember[Y][X][3];
</code></pre>
<p>wäre?</p>
<p>und dann</p>
<pre><code class="language-cpp">for (int y=0; y&lt;5; ++y)
   for (int x=0; x&lt;5; ++x)
      for (int i=0; i&lt;3; ++i)
         PosMatrixMember[y][x][i] = PosMatrix[y][x][i];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303046</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 11:38:23 GMT]]></title><description><![CDATA[<p>Wozu benutzt du eigentlich diese seltsame Matrix. Die Werte wiederholen sich ja eh andauernd und anstatt die Matrix dann zu benutzen, könntest du ja an die entsprechende Stelle eine Berechnung einbauen, wo eigentlich das Array stehen sollte.</p>
<p>Oder in deinem Konstruktor eine statische Array initialisieren und es dann dem Member zuweisen:</p>
<pre><code class="language-cpp">class TT {
    private:
            long matrix[5][6][6];
    public:
            TT()
            {
                 static long zwMatrix[5][6][6] = { /* init */ }
                 matrix = zwMatrix;
            }
};
</code></pre>
<p>Wenn die Matrix aber ehe bei jedem Objekt gleich ist dann direkt so:</p>
<pre><code class="language-cpp">class TT {
    private:
            static long matrix[5][6][6];
    public:
};

long TT::matrix[5][6][6] = { /* init */ }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303051</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:38:23 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 12:14:32 GMT]]></title><description><![CDATA[<p>KasF schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class TT {
    private:
            long matrix[5][6][6];
    public:
            TT()
            {
                 static long zwMatrix[5][6][6] = { /* init */ }
                 matrix = zwMatrix;
            }
};
</code></pre>
</blockquote>
<p>--&gt; Fehler:</p>
<blockquote>
<p>error C2106: '=': Linker Operand muss ein L-Wert sein</p>
</blockquote>
<p>KasF schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class TT {
    private:
            static long matrix[5][6][6];
    public:
};

long TT::matrix[5][6][6] = { /* init */ }
</code></pre>
<p>--&gt;</p>
<pre><code class="language-cpp">class CPositionDlg : public CDialog
{
.....
....
	CBitmap m_bmpBitmap;
private:
	CPaintDlg m_dlgPaint;
	static long PosMatrix[Y][X][3];

	void getPosFingerPrint(long value1, long value2, long value3);
};
long CPositionDlg::matrix[Y][X][3] = {
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }
	};
</code></pre>
</blockquote>
<p>--&gt; AUch einen Fehler:</p>
<blockquote>
<p>fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.<br />
error LNK2005: &quot;private: static long (* CPositionDlg::PosMatrix)[5][3]&quot; (?PosMatrix@CPositionDlg@@0PAY142JA) ist bereits in MFC_TestDlg.obj definiert.</p>
</blockquote>
<p>Und die Werte in der Matrix werden nicht gleich sein, die sind NUR hier in dem Beispiel gleich.<br />
Für jede X/Y Position wird es NUR eine Kombination von 3 Zahlen geben.</p>
<p>@ Helium:</p>
<p>Das hat ja vorher schon nicht funktioniert. Deshalb die Lösung mit dem Zeiger auf die Matrix (welche aber auch nicht funktioniert)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303068</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 12:14:32 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 12:20:16 GMT]]></title><description><![CDATA[<p>EDIT:</p>
<p>debug Ordner löschen hilft <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>Problem gelöst. Vielen Dank an alle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303078</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 12:20:16 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 12:40:46 GMT]]></title><description><![CDATA[<p>LosWebos schrieb:</p>
<blockquote>
<p>KasF schrieb:</p>
<blockquote>
<pre><code class="language-cpp">class TT {
    private:
            static long matrix[5][6][6];
    public:
};

long TT::matrix[5][6][6] = { /* init */ }
</code></pre>
<p>--&gt;</p>
<pre><code class="language-cpp">class CPositionDlg : public CDialog
{
.....
....
	CBitmap m_bmpBitmap;
private:
	CPaintDlg m_dlgPaint;
	static long PosMatrix[Y][X][3];

	void getPosFingerPrint(long value1, long value2, long value3);
};
long CPositionDlg::matrix[Y][X][3] = {
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} },
		{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }
	};
</code></pre>
</blockquote>
<p>--&gt; AUch einen Fehler:</p>
<blockquote>
<p>fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.<br />
error LNK2005: &quot;private: static long (* CPositionDlg::PosMatrix)[5][3]&quot; (?PosMatrix@CPositionDlg@@0PAY142JA) ist bereits in MFC_TestDlg.obj definiert.</p>
</blockquote>
</blockquote>
<p>Ist ja auch klar, wenn du die Definition mit in den Header packst.</p>
<blockquote>
<p>@ Helium:</p>
<p>Das hat ja vorher schon nicht funktioniert. Deshalb die Lösung mit dem Zeiger auf die Matrix (welche aber auch nicht funktioniert)</p>
</blockquote>
<p>Hmm, also bei mir macht er das ohne zu murren:</p>
<pre><code class="language-cpp">const int X = 5;
const int Y = 5;

class Matrix {
private:
	long PosMatrixMember[Y][X][3];

public:
	Matrix () {
		static long PosMatrix[Y][X][3] = { 
			{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }, 
			{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }, 
			{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }, 
			{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} }, 
			{ {1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3} } 
		};

		for (int y=0; y&lt;5; ++y)
				for (int x=0; x&lt;5; ++x)
					for (int i=0; i&lt;3; ++i)
						PosMatrixMember[y][x][i] = PosMatrix[y][x][i];

	}

};

int main ()
{
	Matrix matrix;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303079</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 12:40:46 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 12:32:56 GMT]]></title><description><![CDATA[<p>Ehm, das mit static und dann einfach im CTor zuweisen, war Mist <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="🙂"
    /> Klappt doch wohl nur bei eindimensionalen so einfach.</p>
<p>Denk aber daran, dass du mit dem static Member, EIN Array für alle Objekte deiner Klasse hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303100</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 11 Jun 2007 12:32:56 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 13:06:06 GMT]]></title><description><![CDATA[<p>ich habe jetzt die 2te Variante gewählt.</p>
<p>Die frage ist nun wie ich darauf zugreife:</p>
<pre><code class="language-cpp">for( int i=0; i&lt;Y; i++ )
	{
		for( int j=0; j&lt;X; j++ )
		{
			if( value1 == PosMatrix[Y][X][0] &amp;&amp; value2 == PosMatrix[Y][X][1] &amp;&amp; value3 == PosMatrix[Y][X][2])
			{
				m_iXPos = X;
				m_iYPos = Y;
			}
			else
			{
				m_iXPos = -1;
				m_iYPos = -1;
			}

		}
	}
</code></pre>
<p>Ich möchte halt die 3 Werte value 1-3 mit dem Inhalt der Matrix vergleichen.<br />
Leider weiß ich nun nicht genau wie das geht.<br />
Der obengenannte Code funktioniert nicht so wie ich möchte <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>Wie kann ich nun auf den Inhalt des Array an der bestimmten Stelle in der Matrix zugreifen und diese 3 Werte mit meinen anderen 3 Werten vergleichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303125</guid><dc:creator><![CDATA[LosWebos]]></dc:creator><pubDate>Mon, 11 Jun 2007 13:06:06 GMT</pubDate></item><item><title><![CDATA[Reply to Matrix initalisieren on Mon, 11 Jun 2007 13:08:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">for( int i=0; i&lt;Y; i++ )
	{
		for( int j=0; j&lt;X; j++ )
		{
			if( value1 == PosMatrix[i][j][0] &amp;&amp; value2 == PosMatrix[i][j][1] &amp;&amp; value3 == PosMatrix[i][j][2])
			{
				m_iXPos = X;
				m_iYPos = Y;
			}
			else
			{
				m_iXPos = -1;
				m_iYPos = -1;
			}

		}
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1303129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303129</guid><dc:creator><![CDATA[Helium]]></dc:creator><pubDate>Mon, 11 Jun 2007 13:08:24 GMT</pubDate></item></channel></rss>