When you define a recursive function you must specify the type of the returned value. If you don’t do it the compilation fails.

object Program
{
  def main(args: Array[String]):Unit =
  {
    println(factorial(4))
  }
  def factorial(num:Int):Int = if (num==0) 1 else num*factorial(num-1)
}

The following video clip explains that.

Leave a Reply

Your email address will not be published. Required fields are marked *