它产生的错误是:
Funct.scala:5: 'val' expected but identifier found.
[error] class Funct[In,Out](function: In => Out, description: String, implicit m: Manifest[In => Out]) {
并且有问题的代码是:
import scala.reflect.Manifest;
class Funct[In,Out](function: In => Out, description: String, implicit m: Manifest[In => Out]) {
def isType[K](implicit man: Manifest[K]) = {
m <:< man
}
def Apply(input: In): Out = {
function.Apply(input)
}
def toString() = {
description + m
}
}
我根本看不出问题所在。
答案 0 :(得分:7)
你应该弄清楚一些问题,但这个消息确实有点令人困惑。
此处的问题是implicit
关键字必须标记整个参数组,而不仅仅是单个参数。试试:
class Funct[In,Out](function: In => Out, description: String)(implicit m: Manifest[In => Out])
答案 1 :(得分:3)
function.Apply(input)
应为function.apply(input)
或function(input)
,但严重的是,只需使用IntelliJ或Eclipse,他们就会立即告诉您这些事情。