dziwne działanie programu

dziwne działanie programu
NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0

inaczej nie jestem w stanie tego opisać, tutaj jest kod z main:

Kopiuj
    Window window;
    while (!keyboard[esc])
    {
        //
        cout << keyboard[esc] << endl;
    }
    return 0; 

tu definicja konstruktora Window:

Kopiuj
Window::Window()
{
     //
} 

i struktura keyboard+metody:

Kopiuj
struct Keyboard
{
    bool operator [] (char key);
    bool operator [] (int key);
}keyboard;
bool Keyboard::operator[] (char key)
{
    return GetAsyncKeyState(key);
}
bool Keyboard::operator[] (int key)
{
    return GetAsyncKeyState((char)key);
}
 

po wciśnięciu klawisza esc program crashuje

fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
0

Debugger do reki i jedziesz.

pewnie masz gdzies mem leaka

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0

to nie ma sensu... wywala na wywołaniu getasynckeystate... ale czemu? kiedy nacisnę esc to dostaję wartość -32767 po wywaleniu deklaracji window wszystko działa tak samo, nie licząc tego, że nie wywala programu... dlaczego?

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0

odkryłem, że to problem z destruktorem a dokładniej z pustym wektorem:

Kopiuj
wektor.size() 

tutaj wywala program... a po paru minutach odkryłem że operuje na nieistniejącym obiekcie :) tutaj był błąd

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.