dziwne działanie programu

0

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

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

tu definicja konstruktora Window:

Window::Window()
{
     //
} 

i struktura keyboard+metody:

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

0

Debugger do reki i jedziesz.

pewnie masz gdzies mem leaka

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?

0

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

wektor.size() 

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1