【问题标题】:ML compilation code errorML编译代码错误
【发布时间】:2018-07-08 07:53:19
【问题描述】:

我无法理解错误。

我运行这个,我得到了错误:

7.18-7.22 Error: argument of raise is not an exception [tycon mismatch]

  raised: ?.R1

  in expression:

    raise (E y)
val it = () : unit

这是代码:

exception E of real;

fun g (y)= raise E(y);

fun f(z)=

 let

 datatype R1=E of int;

 fun x(y)= raise E(y);

 in

 z(3);

 x(3)

 end;

【问题讨论】:

    标签: ml


    【解决方案1】:

    raise的第二次使用中,E指的是数据类型R1的构造函数E,这也不例外。它的本地定义隐藏了异常E 的外部定义。重命名一个或另一个以解决此错误。

    【讨论】:

      猜你喜欢
      • 2014-03-02
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 2012-06-29
      相关资源
      最近更新 更多