इस स्काला कोड को देखते हुए:बाई-पैरामीटर के साथ केस से अलग-अलग पैरामीटर के साथ ओवरलोडिंग के मामले में स्कैला का व्यवहार क्यों है?
object test {
def byval(a: Int) = println("Int")
def byval(a: Long) = println("Long")
def byname(a: => Int) = println("=> Int")
def byname(a: => Long) = println("=> Long")
def main(args: Array[String]) {
byval(5)
byname(5)
}
}
कॉल byval (5) सही ढंग से संकलित, लेकिन byname संकलन करने में विफल रहता है:
ambiguous reference to overloaded definition
क्यों? मैं ओवरलोडिंग के संबंध में उप-मूल्य और उप-पैरामीटर के लिए एक ही व्यवहार का निरीक्षण करने की अपेक्षा करता हूं ... इसे कैसे ठीक किया जा सकता है?
यह एक बग हो सकती है ... – soc