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

时间:2019-11-07 12:47:39

标签: c++ arrays function c++14 tic-tac-toe

我正在用C ++编写井字游戏项目。我编写了game_rule函数来控制游戏流程,并在游戏结束函数中调用了该函数,但收到一条错误消息“没有匹配的函数来调用'game_rule'”。我尝试了所有可能的方法以找出原因,但未成功。我通过了自定义2d数组,但是没有任何效果。

完整代码可在以下位置看到:

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";
    }
}

1 个答案:

答案 0 :(得分:1)

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

如果要将参数传递给 game_rule ,请对其进行定义,以便它可以接收与 board_ele 相同类型的输入。