【发布时间】:2023-11-07 13:16:01
【问题描述】:
我正在尝试创建一个函数,将 SML 中整数的数字求和,但出现以下错误。
Error: operator and operand don't agree [overload conflict]
operator domain: real * real
operand: [* ty] * [* ty]
in expression:
n / (d * 10)
我尝试将变量类型转换为实数,但没有成功。我也不明白为什么我会收到这个错误。在 SML 中不能使用 * 和 / 等运算符与 int 和 real 吗?
代码如下:
fun sumDigits (n) =
if n < 10 then n
else
let
val d = 10
in
n mod d + sumDigits(trunc(n/(d*10)))
end
【问题讨论】:
标签: casting functional-programming type-conversion sml ml