多维数组数据成员的运行时错误

Runtime error with multidimensional array data members

本文关键字:运行时错误 数据成员 数组      更新时间:2023-10-16

我已经开始开发一个解决数独的程序,我创建了一个叫做数独求解器的类来封装"数独求解器"。类中有一个多维数组来存储数独的数据。该程序编译得很好,但是当我运行它时,在箭头指向的行处抛出了一个运行时异常,指示存在访问冲突:

class SudokuSolver
{
private:
    int sudoku[9][9];
    bool valid(int sodoku[9][9]);
    bool solve(int x,int y);
    bool repeat(int x,int y,int num);
public:
    SudokuSolver();
    bool setSudoku(int sudoku[9][9]);
    bool solveSudoku();
    void printSudoku()const;
};
SudokuSolver::SudokuSolver()
{
    for(int i = 0;i < 9;++i)
        for(int j = 0;j < 9;++i)
------->--->--->    sudoku[i][j] = 0;
}

你能告诉我这边发生了什么吗???这是我的任务,所以非常紧急。

问题是你在第二个循环中做了++i。

SudokuSolver::SudokuSolver()
{
    for(int i = 0;i < 9;++i)
        for(int j = 0;j < 9;++i)  //Your error is here..
          sudoku[i][j] = 0;
}

应该是:

SudokuSolver::SudokuSolver()
{
    for(int i = 0;i < 9;++i)
        for(int j = 0;j < 9;++j)
          sudoku[i][j] = 0;
}