功能检查2D循环中的界限/分段错误

时间:2015-10-03 16:47:21

标签: c++ loops multidimensional-array

我循环遍历Cell对象的2D数组并检查每个对象周围的Cell。在检查每个单元格之前,我需要确保它存在于数组中。为此,我使用以下功能:

bool Cell::isInBounds(int h, int w) {
    if ((h >= 0 && w >= 0) || (h < HEIGHT && w < WIDTH)) {
        return true;
    }
    return false;
}

当它不应该时,它似乎正在回归,我觉得我错过了一些明显的东西。 ih正在传递,例如cell[i+1][j+1].isInBounds((i+1), (j+1))

C ++新手。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

应该是

 if ((h >= 0 && w >= 0) && (h < HEIGHT && w < WIDTH)) {