问题是当我执行“ for(int i = 0; i <vector.size()-1; i ++)”时,它给我一个“向量下标超出范围”的错误。但是,如果我将vector.size()-1放入变量中,它将起作用。这是小故障还是我只是想念一些东西?
这有效:
int sizePos = positionsX.size() - 1;
for (int i = 0; i < sizePos; i++) {
if (snake.getX() == positionsX[i] && snake.getY() == positionsY[i]) {
gameOver = true;
std::cout << as << std::endl;
as++;
}
if (apple.getX() == positionsX[i] && apple.getY() == positionsY[i]) {
apple.eat();
}
}
Run Code Online (Sandbox Code Playgroud)
并且这不会:
for (int i = 0; i < positionsX.size() - 1; i++) {
if (snake.getX() == positionsX[i] && snake.getY() == positionsY[i]) {
gameOver …Run Code Online (Sandbox Code Playgroud)