0

它产生的错误是:

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
  }
}

我根本看不出问题出在哪里。

4

2 回答 2

7

您应该能够弄清楚一些问题,但是该消息确实有点令人困惑。

这里的问题是implicit关键字必须标记整个参数组,而不仅仅是单个参数。尝试:

class Funct[In,Out](function: In => Out, description: String)(implicit m: Manifest[In => Out])
于 2012-08-17T01:44:37.837 回答
3

function.Apply(input)应该是function.apply(input)或只是function(input),但说真的,只要使用 IntelliJ 或 Eclipse,他们就会立即告诉你这些事情。

于 2012-08-17T01:52:39.827 回答