如何在C ++中调用同一函数中的函数

问题描述 投票:-1回答:1

我正在为一个学校项目的扫雷工作。如果相邻方块中的地雷数量为0,我目前正在开辟相邻的方块。我已经编写了一个函数来执行此操作。

{
    void Square::openAdjacent(int a, int b)
    {
        for (int i=(a-1); i<=(a+1); i++)
             {
               for (int j= (b-1); j<=(b+1); j++)
                 {
                    if ((i==a && j==b) || (i<=0) || (j<=0) || (i>=board_->size()) || (j>=board_->size())){}
                    else if (not board_->at(j).at(i).opened_ && count_==0 && (opened_) && (not board_->at(j).at(i).hasMine_)){
                             board_->at(j).at(i).opened_=true;
                             if (board_->at(j).at(i).count_==0){
                                 openAdjacent(i, j);
                             }
                          }
                 }
             }
    }
}

如您所见,我在同一函数中调用了函数openAdjacent。我已经阅读并了解到这在C ++中是不可能的。我想知道是否有可能解决这个问题以及我应该如何解决这个问题。

c++ function recursion minesweeper
1个回答
0
投票

我已经阅读并了解到这在C ++中是不可能的。我想知道是否有可能解决这个问题以及我应该如何解决这个问题。

不,因为问题不存在,所以无法解决问题。您可以在同一个函数中调用函数。甚至间接来自一个从它调用的函数。这里没有任何限制。你只需要注意结束无限递归。

© www.soinside.com 2019 - 2024. All rights reserved.