2012-03-24 3 views
-1

私は単純なスネークゲームをC++で作っています。それはコンパイルされますが、実行されません。私は、MacでNetBeansを使用している、と私は前に、このような問題を抱えていたことがありませんので、私はそれは私のコードの問題だと仮定します。"snake" run error

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

私はそれが2Dベクトルに問題があるかもしれないと思います。

+0

_実行しないでください。驚くほど進んでいません。エラーが出ますか?警告?あなたがプログラム全体に与えた五つのラインはありますか? – sarnold

+0

@sarnold:プログラム全体を見るには、編集履歴を見てください。私はそれを最小限に抑えました。 – Mankarse

+0

@Mankarse:ああ!私はそれを見落としましたか?..何か他のことをする時間でなければなりません。 – sarnold

答えて

5

snake[0][0] = 0は、存在しないベクトルの要素に割り当てようとしているため、未定義の動作があります。

つまり、snake.size() == 0であるため、snake[0]で最初の要素にアクセスすることは有効な操作ではありません。

+0

"OPはそれを修正するために何をすべきですか?" – Marlon

+0

@Marlon:おそらく 'std :: vector 'を使ってスネークを表現するようにデザインを変更してください。 – Mankarse