Types 如何为可变变量定义特定类型?

Types 如何为可变变量定义特定类型?,types,ocaml,mutable,ref,Types,Ocaml,Mutable,Ref,我是OCaml的初学者。我想编译这段代码,但我得到了一个错误 类型pointeur_de_code=int;; 类型environnement=int;; 类型mlvalue= |int的Ml1 |pointeur_de_代码*环境的Ml2;; let(累计:mlvalue)=参考0;; 此表达式的类型为int ref,但表达式的类型应为mlvalue 定义变量类型(如mlvalue时,为该类型的值定义构造函数。您有一个名为Ml1的构造函数,它接受int并生成一个值。您有一个名为Ml2的构造函

我是OCaml的初学者。我想编译这段代码,但我得到了一个错误

类型pointeur_de_code=int;;
类型environnement=int;;
类型mlvalue=
|int的Ml1
|pointeur_de_代码*环境的Ml2;;
let(累计:mlvalue)=参考0;;
此表达式的类型为int ref,但表达式的类型应为mlvalue


定义变量类型(如
mlvalue
时,为该类型的值定义构造函数。您有一个名为
Ml1
的构造函数,它接受
int
并生成一个值。您有一个名为
Ml2
的构造函数,它接受两个
int
s并生成一个值

要生成该类型的值,需要包含构造函数

此外,
accu
的类型不能是
mlvalue
。它必须是不同类型的
mlvalue ref

let accu : mlvalue ref = ref (Ml1 0)
(请注意,您不需要提供
accu
的类型。OCaml将为您推断类型。)