在 C++ 中没有匹配函数来调用 'game_rule'

no matching function for call to 'game_rule' in c++

我正在用 C++ 编写井字游戏项目。我编写了 game_rule 函数来控制游戏流程,我在游戏结束函数中调用了它,但我收到一条错误消息 "no matching function for call to 'game_rule'"。我尝试了各种可能的方法来找出原因,但没有成功。我传递了自定义二维数组,但它没有任何效果。

完整代码见:

code of tic-tac-toe

bool game_rule()
{

    if ((board_ele[0][0] == 'X' && board_ele[1][1] == 'X' && board_ele[2][2] == 'X') || (board_ele[0][0] == 'X' && board_ele[0][1] == 'X' && board_ele[0][2] == 'X') || (board_ele[1][0] == 'X' && board_ele[1][1] == 'X' && board_ele[1][2] == 'X') || (board_ele[2][0] == 'X' && board_ele[2][1] == 'X' && board_ele[2][2] == 'X') || (board_ele[0][0] == 'X' && board_ele[1][0] == 'X' && board_ele[2][0] == 'X') || (board_ele[0][1] == 'X' && board_ele[1][1] == 'X' && board_ele[2][1] == 'X') || (board_ele[0][2] == 'X' && board_ele[1][2] == 'X' && board_ele[2][2] == 'X'))
    {
        return true;
    }
    else
    {
        return false;
    }
}

void game_over()
{

    if (game_rule(board_ele) == true)
    {
        std::cout << "player 1 is won";
    }

    if (game_rule(board_ele) == true)
    {
        std::cout << "player 1 is won";
    }
}

您在声明 bool game_rule() 时没有任何输入,但是当您在此处调用它时 if (game_rule(board_ele)==true) 您将其传递给输入。

如果要将参数传递给 game_rule,请定义它以便它可以接收来自与 board_ele 相同类型的输入.