Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Duplicate definition of value fooF# 编译器有时会拒绝我的代码,并出现指向如下定义的编译时错误:
Duplicate definition of value foo
let foo = ref 0
即使这不是重复的定义,因为foo整个文件中没有其他定义。为什么会这样?
foo
当您还定义一个get_foo函数时会发生这种情况:
get_foo
let get_foo() = !foo
因为 的定义foo创建了一个实现自己的get_foo方法的属性,所以存在冲突。F# 编译器对此感到困惑并生成虚假的“重复定义错误”。
此错误已报告给 Microsoft,他们正在努力修复,但不会将其纳入 F# 的下一个 (VS11) 版本。