这是我的主要递归函数,它似乎根本不起作用,并且具有比我预期的更奇怪的行为。我究竟做错了什么?附:下面的函数是类的一部分。如果需要,将包括其余的代码..
bool solve()
{
if(isSolved()){return true;}
for(int i=0; i<9; i++)
{
for(int j=0; j<9; j++)
{
if(grid[i][j] > 0)
{
continue;
}
for(int k=1; k<10; k++)
{
grid[i][j] = k;
if(tryVal(i,j,k) == true && solve())
{
return true;
}
grid[i][j] = 0;
}
}
}
return false;
}