Sehr seltsam. Jetzt wird's kompliziert.
Key_ID ist korrekt und laut deinem Debugger-Screenshot zeigt
m_pKeystate auch noch auf richtigen Speicherbereich. Außerdem ist dein gecalltes Objekt (this /
g_pFramework) scheinbar valid.
Wo und wie initialisierst du
m_pKeystate?
Wie groß ist das Array (Du kannst der
SDL_GetKeyState() Funktion einen Pointer auf einen signed int als Parameter übergeben, in welchen die Größe gespeichert wird)?
In welcher Zeile genau gibt es die Fehlermeldung?
Interessant wäre ein Screenshot, nachdem du bei der Fehlermeldung auf "Unterbrechen" geklickt hast
Was mir auffällt ist, dass obwohl ich keine Taste gedrückt habe der einen Wert für Key_ID hat.
Kein Wunder, wenn du der Funktion eine Konstante übergibst:
g_pFramework->KeyDown (SDLK_LEFT)
und die checkt dann ob diese im Array vorhanden ist
Nicht, ob sie im Array vorhanden ist, sondern die Funktion gibt je nachdem welchen Wert (0 oder 1) das Array an gegebener Stelle hat und gibt je nachdem true oder false zurück.