2013-10-05 60 views
-2

我已經開始開發一個解決數獨的程序,並且我創建了一個名爲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; 
} 

能否請你告訴我什麼是在這裏怎麼回事???這是我的任務,所以非常緊急。

+3

這個問題似乎是題外話,因爲它是關於一個簡單的拼寫錯誤。請參閱meta討論 http://meta.stackexchange.com/questions/167342/close-all-the-typo-questions – us2012

回答

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

謝謝。我的問題解決了。 – Blip