Scala:';类需要是抽象的';在实现高阶函数时

Scala:';类需要是抽象的';在实现高阶函数时,scala,class,traits,Scala,Class,Traits,我试图确保traitFunc的类(代表一些符号数学表达式)拥有一个返回数值函数的方法(实现符号表达式) 这将返回以下错误: [error] /projects/tutdiff/diff.scala:6: class Const needs to be abstract, since method func in trait Func of type [T](x: T)T => Double is not defined [error] case class Const(d: Double)

我试图确保trait
Func
的类(代表一些符号数学表达式)拥有一个返回数值函数的方法(实现符号表达式)

这将返回以下错误:

[error] /projects/tutdiff/diff.scala:6: class Const needs to be abstract, since method func in trait Func of type [T](x: T)T => Double is not defined
[error] case class Const(d: Double) extends Func {
[error]            ^
我感兴趣的是为什么
Const
中的
func
的实现不符合要求。但这也意味着一个类必须是抽象的,或者不是抽象的(Scala的新成员)

编辑:====================

这是我马上要找的签名

trait Func {
  def func[T]: T=>Double
}

case class Const(d: Double) extends Func {
  def func[T]: T=>Double = (x: T) => d
}

类型参数
T
的使用可能是后续问题的主题。
func
中的
func
具有以下签名:

def func[T](x: T): T => Double
def func[T]: (T => Double)
Const
内部,
func
具有不同的签名:

def func[T](x: T): T => Double
def func[T]: (T => Double)
它不再接受类型为
T
的参数。也许你想要的是:

def func[T](x: T): (T => Double) = (x: T) => d
虽然我不确定这到底能实现什么