ncurses: WINDOW pointer in einer klasse -> Speicherzugriffsfehler
-
hi,
ich weiß jetzt nicht ob der post hier richtig ist, also seit bitte nicht böse und verschiebt ihn einfach.
ich hab ein problem wie im titel schon beschrieben bei dem pointer auf WINDOW.hier mal ein minimalbeispielprogramm:
#include <ncurses.h> class tBeispiel { public: void Init(int Height, int Width, int StartY, int StartX); private: WINDOW *Win; }; int main() { initscr(); refresh(); tBeispiel *Beispiel; Beispiel->Init(LINES, COLS, 0, 0); getch(); delete Beispiel; endwin(); return 0; } void tBeispiel::Init(int Height, int Width, int StartY, int StartX) { Win = newwin(Height, Width, StartY, StartX); box(Win, 0, 0); wrefresh(Win); }
normalerweise sollte ein fenster das so groß ist wie die gesamte konsole erstellt werden welches von einem rahmen umgeben ist. doch komischerweise kommt beim ausführen nur die meldung "Speicherzugriffsfehler" und das programm wird abgebrochen.
ich konnte den fehler auf folgende zeile eingrenzen:
Win = newwin(Height, Width, StartY, StartX);
und wenn ich *Win nicht in der klasse, sondern global definiere gibt es keine probleme.
Wieso? und was kann man da machen?
ich bin absolut ratlosmfg
-
Hi,
vielleicht überhaupt erstmal ein Objekt erstellen?
tBeispiel *Beispiel = new tBeispiel;
-
loool
ich wusste das es wieder so ne dumme sache ist, hab ich total vergessen.
vielen dank