我有一个这样的数字包装器
class NumWrapper[A<:AnyVal](var v: A)(implicit n:Numeric[A]) {
def +(other: A): NumWrapper[A] = {
new NumWrapper(n.plus(v, other))
}
def -(other: A): NumWrapper[A] = {
new NumWrapper(n.minus(v, other))
}
}
一切正常。但是当我想要进行隐式转换时,我创建了一个伴随类,如下所示:
object NumWrapper {
implicit def toNumWrapper[A<:AnyVal](v: A) = new NumWrapper[A](v)
}
但我在编译时出现错误:
找不到参数 n 的隐式值:Numeric[A]
这里有什么问题?为什么它试图在编译时找到类型 A 的隐式匹配?
非常感谢您的帮助。