Zugriff auf Element eines 2-dimensionalen Felds



  • In meiner C++-Datei legt der Konstruktor einer Klasse ein zweidimensionales Array mittels new in zwei ineinandergeschachtelten for-Schleifen an. Dabei wird jedem Element dieser Matrix ein double-Wert als Startwert zugewiesen. Soweit, sogut, das funktioniert prima. Nun jedoch mein Problem: In einer Methode der selben Klasse möchte ich auf ein bestimmtes Element der Matrix schreibend zugreifen. Dies versuche ich mittels d[x][y]=wert, wobei d der Feldname ist, wert die in das Matrixelement zu schreibende Zahl und x und y mit gültigen Indizes belegt sind. An der Stelle im Programm, wo diese Zuweisung erfolgen soll, kommt aber eine Fehlermeldung, weshalb ich mich frage, ob die Syntax korrekt ist. Kann mir jemand helfen, wie ich den Schreibezugriff auf das Matrixelement richtig vornehme? Bei Bedarf gebe ich gern weitere Details zu meinem Programm.



  • Hallo

    dier Syntax d[x][y]=wert ist grundsätzlich richtig.
    Also must du noc hsagen, bei welchem Code was für eine Fehlermeldung genau kommt.

    bis bald
    akari



  • Hallo, direkt an der Stelle in der Methode, wo der Wert an das Matrixelement zugewiesen wird, kommt die folgende Fehlermeldung:

    Unbehandelte Ausnahme bei 0x00415238 in KLASSE.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xcdcdcdd1.

    Ich werde den Verdacht nicht los, dass das Problem im Zusammenhang steht mit dem dynamischen Anlegen der Matrix im Konstruktor. Der Konstruktor beinhaltet folgenden Code:

    double **d = new double *[ax];
    	for (size_t l=0; l<ax; l++)
    	{
    		d[l] = new double [ay];
    		for (size_t k=0; k<ay; k++)
    		{	d[l][k] = 0.2;
    		}
    	}
    

    ax und ay sind die Dimensionsgrößen, l und k die jeweils zugehörigen Laufvariablen.


Log in to reply