| 

.NET C# Java Javascript Exception

3
Hallo,

ich muss jetzt allmählich aufgeben und fange an zu verzweifeln. Vielleicht und ziemlich bestimmt kann einer von euch mir helfen.

Also, es gibt folgendenen Codekrümmel:
class Turm
{
private:
int _hoehe; // Hoehe des Turms
int _scheiben; // Aktuelle Anzahl der Scheiben
int *_turm; // Zeiger auf dynamischen Turm

public:
Turm(int hoehe);
void push(int element);
int pop();
int oben();
void druck();
};

Turm::Turm(int hoehe)
{
_hoehe=hoehe;
_scheiben=0;

_turm=_hoehe; <------- Da kommt der Fehler
}

wenn ich jetzt ein neues Objekt vom Typ Turm erstelle, bekomme ich an markierter Codestelle einen Fehler, der da lautet:
Zugriffsverletzung beim Schreiben an Position 0xcccccccc.

Ich habe schon einiges versucht und wette die Lösung ist recht einfach. Ich gehe jetzt mal eine rauchen, vielleicht habe ich ja Glück und jemand hat bis dahin darauf geantwortet.

Schon mal vielen Dank
13.12.2011
Hornbrille 193 1 6
2 Antworten
1
Wie wäre es mit:
_turm=&_hoehe;
13.12.2011
Matthias Hlawatsch 13,2k 4 9
0
Also der Teil hat schon einmal funktioniert und zack ergeben sich die nächsten Probleme, ich glaube ich sollte mir dieses ganze Pointer Prinzip noch ein mal durchlesen. Vielleicht hat ja dafür noch jemand einen super Link oder "Tutorial". So aber mein Problem kommt jetzt beim Push

void Turm::push(int element)
{
if ( _scheiben<_hoehe )
{
*(_turm+_scheiben)=&element; <----hier
_scheiben++;
}
}
13.12.2011
Hornbrille 193 1 6
da musst das & jetzt weglassen.. mit * dereferenzierst du deinen Turm. Bitte ja nochmal durchlesen :)
puls200 13.12.2011

Stelle deine Cplusplus-Frage jetzt!