[Chisel/scala] overloaded method apply with alternatives
Introduction
When writing code in chisel, I occasionally encounter the compilation error mentioned above.
I wasn't really sure what this meant, so I researched about it.
Detail
Let's take the following error as an example and look at it line by line:
overloaded method apply with alternatives:
[error] [T <: chisel3.Data](elt0: T, elts: T*): chisel3.Vec[T] <and>
[error] [T <: chisel3.Data](elts: Seq[T]): chisel3.Vec[T]
[error] cannot be applied to (Seq[MyClass])
overloaded method apply with alternatives:
This is easier to understand if you read it as 'apply', with the quotation marks added. There are multiple overloads of the 'apply' method. They are listed below.
[T <: chisel3.Data](elt0: T, elts: T*): chisel3.Vec[T]
This says that the class chisel3.Vec[T] (where T must inherit from chisel3.Data) has an apply method that takes multiple arguments of type T.
[T <: chisel3.Data](elts: Seq[T]): chisel3.Vec[T]
Similarly, there is also an apply() that takes an argument of type Seq[T].
[error] cannot be applied to (Seq[MyClass])
And this error saying that none of the above can be applied to Seq[MyClass].
This error is usually caused by a mistake in the type specification, so if you review that, you can often get rid of the error.
Recent Posts
See AllWhat want to do There is an operation that operates on two-dimensional arrays There are multiple targets to be processed In this case, I...
What want to do As stated in the title, I would like to define an array of function pointers. Specifically, for example, the third...
Phenomenon There is an array Check whether the index variable is within the size of the array, and access the element only if it is...
Comments