【问题标题】:OCaml syntax errorOCaml 语法错误
【发布时间】:2015-11-29 13:37:52
【问题描述】:
let confere_tipo msg tinf tdec =
  if tinf <> tdec
  then failwith (msg ^ " deve ser do tipo " ^ tinf)

File "semantico.ml", line 50, characters 0-3:
Error: Syntax error

我做错了什么?

【问题讨论】:

  • 这个函数单独编译很好。您可能在定义之前有一个错误。请尝试找到重现错误所需的最少代码并使用该代码编辑您的帖子(以及任何其他有用的信息,例如您的 OCaml 版本)。
  • 我确认@Marth 的评论,该函数也在我的机器上编译。

标签: ocaml


【解决方案1】:

这个函数看起来有效,所以你的问题出在它前面的代码中。我假设这个函数从第 50 行开始,根据您的错误消息,编译器被第 50 行的前三个字符冒犯了,这将是let。我的猜测是该函数之前的表达式没有正确终止。解决这个问题的肮脏方法是在声明这个函数之前添加一个;;,但如果我能看到更多你的代码,它会更容易修复。

【讨论】: