2012-03-24 75 views
-1

我正在C++中做一個簡單的蛇遊戲。它編譯,但不會運行。我使用的NetBeans在Mac上,我從來沒有過這樣的問題,所以我想這是我的代碼有問題:「蛇」運行錯誤

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

我認爲這可能是與2D向量的一個問題。

+0

_不會run_出乎意料地不會繼續。你有錯誤嗎?警告?你給出了整個程序的五行嗎? – sarnold 2012-03-24 00:38:37

+0

@sarnold:查看編輯歷史記錄以查看整個程序。我把它縮小到最小的情況。 – Mankarse 2012-03-24 00:58:03

+0

@Mankarse:啊!我怎麼忽略它呢?......必須時間去做別的事情。 – sarnold 2012-03-24 01:10:38

回答

5

snake[0][0] = 0有未定義的行爲,因爲您試圖分配給不存在的向量元素。

也就是 - snake.size() == 0因此訪問snake[0]的第一個元素不是有效的操作。

+0

「那麼OP應該如何解決它?」 – Marlon 2012-03-24 01:10:19

+0

@Marlon:可能更改設計以使用'std :: vector '來表示蛇。 – Mankarse 2012-03-24 01:20:03