【问题标题】:Bogus "Duplicate definition of value" error from the F# compiler来自 F# 编译器的虚假“值的重复定义”错误
【发布时间】:2012-05-14 09:05:25
【问题描述】:

F# 编译器有时会拒绝我的代码,并出现 Duplicate definition of value foo 形式的编译时错误,指向如下定义:

let foo = ref 0

即使这不是重复的定义,因为在整个文件中没有 foo 的其他定义。为什么会这样?

【问题讨论】:

    标签: f#


    【解决方案1】:

    当您还定义 get_foo 函数时会发生这种情况:

    let get_foo() = !foo
    

    因为foo 的定义创建了一个实现其自己的get_foo 方法的属性,因此存在冲突。 F# 编译器对此感到困惑,并生成虚假的“重复定义错误”。

    此错误已报告给 Microsoft,他们正在努力修复,但不会在 F# 的下一个 (VS11) 版本中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-13
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      相关资源
      最近更新 更多