Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 多维数组数据成员的运行时错误_C++_Arrays_Class - Fatal编程技术网

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

C++ 多维数组数据成员的运行时错误,c++,arrays,class,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

我已经开始开发一个解决数独问题的程序,并创建了一个名为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;
}
SudokuSolver类
{
私人:
国际数独[9][9];
bool有效(int sodoku[9][9]);
布尔解算(整数x,整数y);
布尔重复(整数x,整数y,整数num);
公众:
SudokuSolver();
boolsetsudoku(int数独[9][9]);
布尔数独();
void printSudoku()常量;
};
SudokuSolver::SudokuSolver()
{
对于(int i=0;i<9;++i)
对于(int j=0;j<9;++i)
------->--->--->数独[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()
{
对于(int i=0;i<9;++i)
对于(int j=0;j<9;++i)//您的错误在这里。。
数独[i][j]=0;
}
应该是:

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

这个问题似乎离题了,因为它是关于一个简单的打字错误。请参阅“谢谢”上的元讨论。我的问题解决了。