从c ++转换后的JS错误

时间:2015-03-05 11:51:08

标签: javascript sudoku solver

我刚刚将数独求解器算法从c ++转换为js,但是有一些错误,例如。 “未捕获的TypeError:无法读取未定义的属性'0'”。 我不明白。

http://ctrlv.it/id/126/3698659344

2 个答案:

答案 0 :(得分:0)

在JS中,基本类型参​​数不通过引用传递,这意味着在调用函数后不会修改局部变量grid,row和col

  

FindUnassignedLocation(grid,row,col)

因此,基本上,当您在求解函数中调用grid[row][col] = num;时,这些变量尚未设置(它们未定义')。 我建议您找到另一种方法来返回新值,例如使用objet作为返回值,或者将其修改为参数,因为参数对象是通过引用传递的。更多信息here

答案 1 :(得分:0)

第15行

if (isSafe(grid, row, col, num)) { ... 你传递未初始化的变量row和col,这是在函数UsedInRow()中引发错误..