下面的代码给出了这一行中多个标记的错误 - 递归值factWithTailRec需要类型 - 找到隐式转换:i => int2bigIn
@tailrec
val factWithTailRec = (i:Int, acc:BigInt) => if(i == 0) 1 else factWithTailRec(i-1, i * acc)
Run Code Online (Sandbox Code Playgroud)
可以请建议我如何防止它.要求是将val分配给递归函数
正如错误所说:
此行的多个标记 - 递归值factWithTailRec 需要类型 - 找到隐式转换:i => int2bigIn
换句话说,您需要为以下内容添加类型签名val:
val factWithTailRec: (Int, BigInt) => BigInt = (i:Int, acc:BigInt) => if(i == 0) 1 else factWithTailRec(i-1, i * acc)
Run Code Online (Sandbox Code Playgroud)