Hi.
Ich soll nen Stack programmieren. Beim compilieren gibt es keine Fehler, beim ausführen jedoch bringt er einen Speicher Fehler.
Ich finde den Fehler aber nicht.
Downloaden kann man die Files hier .
Hier nochmal die 3 Dateien:
stack.h
stack.cpp
Alles anzeigen
Nicht wundern: mache gerade nen "Umschwung" von C auf C++.
vielen Dank für eure Hilfe</iostream>
Ich soll nen Stack programmieren. Beim compilieren gibt es keine Fehler, beim ausführen jedoch bringt er einen Speicher Fehler.
Ich finde den Fehler aber nicht.
Downloaden kann man die Files hier .
Hier nochmal die 3 Dateien:
stack.h
Quellcode
- #ifndef MYSTACK15102007 #define MYSTACK15102007 struct Stack { unsigned int depth; // Tiefe des Stacks char *content;// Inhalt des Stacks unsigned int top;// Index des obersten Elements } ; Stack* createStack(unsigned int); void push(Stack *, char); char pop(Stack *); int isEmpty(Stack *); void destroyStack(Stack *); #endif
stack.cpp
Quellcode
- #include "stack.h" #include Stack* createStack(unsigned int laenge) { Stack *p; p=(Stack*) malloc (sizeof(Stack)); p->content=(char*) malloc (laenge * sizeof(char)); p->top=-1; p->depth=laenge; return p; } void push(Stack *p, char x) { p->top++; p->content[p->top]=x; } char pop(Stack *p) { if(p->top==-1) exit(1); p->top--; return p->content[p->top+1]; } int isEmpty(Stack *p) { if(p->top!=-1) return 1; else return 0; } void destroyStack(Stack *p) { free(p->content); free(p); } main.cpp
Quellcode
Nicht wundern: mache gerade nen "Umschwung" von C auf C++.
vielen Dank für eure Hilfe</iostream>