2012-03-24 5 views
-1

Ich mache ein einfaches Snake-Spiel in C++. es kompiliert, aber wird nicht ausgeführt. Ich verwende Netbeans auf einem Mac, und ich habe noch nie ein Problem wie dies habe, so dass ich davon ausgehen, es ist ein Problem mit meinem Code:"Schlange" Lauffehler

#include <vector> 
std::vector<std::vector<int> > snake;//the snake 
int main(){ 
    snake[0][0]=0; 
} 

Ich denke, es könnte ein Problem mit dem 2D-Vektor sein.

+0

_Won't run_ ist überraschend wenig zu machen. Erhalten Sie Fehler? Warnungen? Sind die fünf Zeilen, die Sie dem gesamten Programm gegeben haben? – sarnold

+0

@sarnold: Schauen Sie in den Bearbeitungsverlauf, um das gesamte Programm zu sehen. Ich habe es auf einen minimalen Fall reduziert. – Mankarse

+0

@Mankarse: Ah! Wie habe ich das übersehen? .. muss Zeit sein, etwas anderes zu tun. – sarnold

Antwort

5

snake[0][0] = 0 hat undefiniertes Verhalten, weil Sie versuchen, ein Element des Vektors zuzuweisen, der nicht existiert.

Das ist - snake.size() == 0 so ist der Zugriff auf das erste Element mit snake[0] keine gültige Operation.

+0

"Was sollte das OP tun, um es zu reparieren?" – Marlon

+0

@Marlon: Ändern Sie wahrscheinlich den Entwurf, um ein 'std :: vector ' zu verwenden, um die Schlange darzustellen. – Mankarse

Verwandte Themen