void Food::generateRandomPosition(vector<vector<int>>& board) { do { int rows = board.size(); int cols = board[0].size(); food_x = rand() % rows; food_y = rand() % cols; } while (board[food_x, food_y] != 0); board[food_x, food_y] = -2; }
时间: 2024-03-19 13:43:39 浏览: 80
HTML常用标签.docx
根据你提供的代码,错误可能出现在第9行,应该改为`board[food_x][food_y]`。因为`board`是一个二维向量,应该使用双括号的形式来访问其中的元素。所以你可以尝试修改为:
```
void Food::generateRandomPosition(vector<vector<int>>& board) {
do {
int rows = board.size();
int cols = board[0].size();
food_x = rand() % rows;
food_y = rand() % cols;
} while (board[food_x][food_y] != 0);
board[food_x][food_y] = -2;
}
```
另外,我注意到你的代码中没有包含头文件,建议添加以下头文件:
```
#include <vector>
#include <cstdlib>
```
这样可以保证程序中使用的函数和类型都能被正确识别。
阅读全文