2012-03-24 53 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