我是Scala新手,我一直在尝试使用用Java实现的库bridj。
下面是代码(allocateFloats是org.bridj.Pointer类中的一个方法)
import org.bridj.Pointer
import org.bridj.Pointer._
class EstimatingPi {
def main(args: Array[String]) {
val n: Int = 1024
val aPtr : Pointer[Float] = allocateFloats(n)
}
}这将导致“PointerFloat类型的表达式不符合预期的PointerFloat类型”。但是,如果我不按下面所示指定aPtr的类型,代码就会编译。
val aPtr = allocateFloats(n)我试图在网上找到解决方案,但问题大多是“someClassT1类型的表达式不符合预期的someClassT2类型”。但就我而言,他们是同一类型的。
我真的很感谢你的帮助。
发布于 2015-06-18 02:38:06
其中一个可能是java.lang.Float。你可能需要
val aPtr: Pointer[java.lang.Float] = allocateFloats(n)如果从allocateFloats文档中不是很明显,您可以通过执行以下操作来找出它的类型
allocateFloats(0).getClass.getName这将给您全名与[L之前和之后的;。
[Ljava.lang.Float;https://stackoverflow.com/questions/30905442
复制相似问题