0

下面的代码 在这一行给出了多个标记的错误 - 递归值 factWithTailRec 需要类型 - 找到隐式转换:i => int2bigIn

@tailrec
 val factWithTailRec = (i:Int, acc:BigInt) =>   if(i == 0) 1  else factWithTailRec(i-1, i * acc)


请建议我如何防止它。要求是将 val 分配给递归函数

4

1 回答 1

5

正如错误所说:

此行有多个标记 - 递归值 factWithTailRec 需要类型- 找到隐式转换:i => int2bigIn

换句话说,您需要将类型签名添加到val

val factWithTailRec: (Int, BigInt) => BigInt = (i:Int, acc:BigInt) =>   if(i == 0) 1  else factWithTailRec(i-1, i * acc)
于 2013-10-22T12:22:17.917 回答