初始化后的函数却一直报错C2065

如下文函数所示,

void game()
{   int ROWS=9;
     int COLS=9;
    char Mine[ROWS][COLS] = { 0};
}
void findmine(char board[ROWS][COLS], int row, int col)
{
    int set = 0;
    while (set < ROW * COL - e_count) {
        int x, y;
        scanf_s("%d %d",&x, &y); 
        if (x >= 1 && x <= row && y >= 1 && y <= col)
        {
            //首次保护
            if (set = 0) {
                if (board[x][y] == '1')
                    board[x][y] = '0';
                int a, b;
                a = rand() % ROW + 1;
                b = rand() % COL + 1;
                board[a][b] = '1';
                set++;
            }
            if (Mine[x][y] == '1')
            {
                printf_s("很遗憾,你被炸死了\n");
                DisplayBoard(Mine, ROW, COL);
                break;
            }
            else
            {
                int i = GetMineCount(Mine, ROW, COL);
                board[x][y] = 'i';
                    Displayboard(Mine, ROW, COL); 
                    set++;
            }
            if (set = row * col - e_count)
            {
                printf_s("游戏胜利\n");
                Displayboard(Mine, ROW, COL);
            }
        }
        else
            printf_s("非法坐标,请重新输入");
    }

}

我明明已经将Mine数组初始化了,却下面函数调用Mine数组一直报错未标识字符C2065

int i = GetMineCount(Mine, ROW, COL);
board[x][y] = 'i';
这里='i'肯定不对,但你到底是想是='1',还是等于i的值呢???那写成board[x][y] = i + '0';

if (set = 0) {
改为
if (set == 0) {

根据你提供的代码,game()函数里面的Mine数组在其他函数是访问不到的,Mine数组和ROL,COLS可以定义成全局变量 ,然后在game()函数初始化;另外findmine()函数里面的参数board[ROWS][COLS]这个也可以改下,可以改成char board[][COLS]。