我有以下代码:
func createGrid[T int | bool](size int, forFlooded bool) [][]T {
var tempGrid [][]T
for i := 0; i <= size+1; i++ {
for j := 0; j <= size+1; j++ {
if forFlooded {
tempGrid[i][j] = false
} else {
tempGrid[i][j] = -1
}
}
}
return tempGrid
}
我在分配的行中收到以下错误tempGrid[i][j]:
cannot use false (untyped bool constant) as T value in assignment
cannot use -1 (untyped int constant) as T value in assignment
这就是我使用它的方式:
var grid [][]int;
grid = createGrid(n, false);
var flooded [][]bool;
flooded = createGrid(n, true);
在这里,我得到CannotInferTypeArgs( cannot infer T) 错误。
我也试过将该类型约束提取到接口中。我究竟做错了什么?
哆啦的时光机