重载方法需要Scala中的结果类型吗?

时间:2016-03-10 04:05:19

标签: scala

这是我的代码,我实际上不需要任何返回值和类型,并想知道如何处理此错误?

“重载方法需要结果类型”的错误在此行foo (start, end, 14)

object HelloWorld {

  def foo(start: String, end: String) = {
     foo (start, end, 14)
  }

  def foo(start: String, end: String, id: Int) = {
     println("Hello, world!")
  }

  def main(args: Array[String]): Unit = {

    foo("hello", "scala")
  }
}

已修正的代码版本

object HelloWorld {

  def foo(start: String, end: String): Unit = {
     foo (start, end, 14)
  }

  def foo(start: String, end: String, id: Int): Unit = {
     println("Hello, world!")
  }

  def main(args: Array[String]): Unit = {

    foo("hello", "scala")
  }
}
提前谢谢, 林

1 个答案:

答案 0 :(得分:5)

  

这是我的代码,我实际上不需要任何返回值和类型,并想知道如何处理此错误?

你这样做。 Scala不允许您使用两个foo方法而不指定返回类型(在这种情况下都是Unit)。