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

时间:2013-10-05 00:12:13

标签: c++ arrays class

我已经开始开发一个解决数独游戏的程序,我创建了一个名为SudokuSolver的类来封装“数独求解器”。类中有一个多维数组来存储数独的数据。程序编译得很好,但是当我运行它时,会抛出一个运行时异常,表明存在访问冲突,在箭头指向的行:

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

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

1 个答案:

答案 0 :(得分:1)

问题是你在第二个循环中做了++ 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;
}