2
votes
    def p1(c: Int)(implicit b: Int): Unit = {
        println(c + b)
    }

    def p2(a: Int, b: Int): Unit ={
        p1(a)
    }

    p2(5, 6) //result = 11

error: could not find implicit value for parameter b: Int

how to fix problem but dont use this solution

 def p2(a: Int, b: Int): Unit ={
        implicit val bb = b
        p1(a)
    }
1

1 Answers

4
votes

One way is to Explicitly passing b

def p2(a: Int, b: Int): Unit ={
    p1(a)(b)
}

Second way is to Mark b as implicit in the signature of p2

def p2(a: Int)(implicit b: Int): Unit ={
  p1(a)
}