Zeiger auf 2-Dimensionales Array

mille

Erfahrenes Mitglied
Hey!

Foglendes: Ich habe eine Klasse geschrieben die als membervariable ein 2-dimensionales Array hat. Warum und wofür geht zu weit, wenn ich es jetzt erläutern würde. Aber es ist auch nicht so wichtig.
Ich brauch also eine Methode die mir die Adresse dieses 2-dimensionalen Arrays zurückgibt, so dass ich diese Adresse, die mir eine Instanz meiner Klasse zu liefern hat, weiter verwenden kann
Hier der grundlegende aufbau
Code:
class CFigur
{
          private:
               short m_anMoeglichkeiten[27][2];
     
          public:
               short GetMoeglichkeiten(void);          //keine Ahnung ob der Prototyp so OK ist
                                            // Konstruktor und Destruktor der einfachheithalber nicht hinzugefügt
     }

     short* CFigur::GetMoeglichkeiten(void)
     {
          return &m_anMoeglichkeiten[0];            //Funktioniert nicht .... :(
     }
}

Weiter bin cih nicht gekommen, ich stoß bei allem was ich ausprobiere auf syntax Fehler!
Ich hoffe ihr koennt mir helfen! :)
 
moin


Der Arrayname an sich ist schon der Zeiger.

Wenn du ein 2-Dimensionales Array benutzen willst musst du bei jedem zugriff darauf auch auch die Position genau angeben, also nciht wie du "m_anMoeglichkeiten[0]" sondern "m_anMoeglichkeiten[0][0]" wenn du auf das erste Segment zugreifen willst.

Wenn du also vorhast den Wert aus einem bestimmten Segment des Arrays zurückzugeben solltest du mal "return m_anMoeglichkeiten[0][0];".

Willst du die Adresse eines bestimmten Bereiches zurückgeben sie dir folgendes beispiel an:
Code:
	char xxx[2][2];

	std::cout<< xxx+1 <<"\n";	//Adresse 1. Segment also [0][0]
	std::cout<< xxx+2 <<"\n";	//Adresse 2. Segment also [1][0]
	std::cout<< xxx+3 <<"\n";	//Adresse 3. Segment also [0][1]
	std::cout<< xxx+4 <<"\n";	//Adresse 4. Segment also [1][1]


mfg
umbrasaxum
 
Zurück