【发布时间】:2015-03-31 10:40:16
【问题描述】:
我有一个简单的公式来添加 2 个数字:
let add a b = a + b
let p = add(5,6)
这会导致以下编译器错误消息:
错误:为类型推断变量应用默认类型“int * int”时,类型约束不匹配。类型 '(int * int)' 不支持任何名为 '+' 的运算符 考虑添加更多类型约束
以下在交互式窗口中可以正常工作,但我也需要它在我的编译器中工作:
let add ax bx = ax + bx;;
我看了一个类似的问题(最终答案得分-1):
F# and type inference: "int list" does not support "+"
答案真的只是在末尾添加一个“+ 0”吗?
let add a b = a + b + 0
这听起来像是一种带有不必要处理开销的 hack。
【问题讨论】:
-
怎么调用add函数?看来您称它为传递元组
add (1, 2)而不是add 1 2 -
嗨@Thomas,我已经更新了代码。似乎问题在于 let p = add(5,6) 语句。
标签: compiler-errors f#