Autor Beitrag
Nano-Ware
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: Fr 06.01.12 22:03 
Hey,

Ich hab mich mal daran gesetzt, C++ zu lernen. Ich hab allerdings folgendes Problem:

Deklariere ich ein Array in der H-Datei (im Private-Teil):

Int var[80]

Und ändere in einem Buttonevent der gleichen Unit ein Feld dieses Arrays, bekomme ich beim Schließen der Form eine Zugriffsverletzung. Deklariere ich die Variable allerdings in der cpp Datei unter der Deklaration der Form, funktioniert der selbe Code. Warum?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 07.01.12 14:27 
Hallo,

wie genau greifst du denn auf die Member-Variable zu? Zeig doch mal etwas Code.
Ein häufiger Fehler (sowohl bei Delphi als auch C++) ist es, mittels der globalen Variable Form1 (oder wie auch immer diese dann heißt) auf die Member zuzugreifen. Innerhalb von Klassenmethoden kann man ja einfach über den impliziten "this->" auf Member zugreifen.

Und welche C++ Builder Version verwendest du?
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: So 08.01.12 16:13 
Die Variable ist wie gesagt in der h Datei deklariert. Ich greife auf das Array folgendermaßen zu:

array[1] = 5;

deklariert ist es so:

int array[80];

Das Lustige ist auch, dass die Meldung erst kommt, wenn man das Programm beendet. Merkwürdig.