constructor(v: Vec3t<Number>) : this(v.x.toInt(), v.y.toInt(), v.z.toInt())
と常にVec3t
を拡張する他のクラスVec3ubとして一つの第二コンストラクタとして持ってVec3tdata class Vec3i(
override var x: Int = 0,
override var y: Int = 0,
override var z: Int = 0
) : Vec3t(x, y, z)
を拡張するクラスVec3iを持っています
data class Vec3ub(
override var x: Ubyte = Ubyte(0),
override var y: Ubyte = Ubyte(0),
override var z: Ubyte = Ubyte(0)
) : Vec3t(x, y, z)
ここで、Vec3tは順番に
abstract class Vec3t<T : Number>(
override var x: T,
override var y: T,
open var z: T
) : Vec2t(x, y)
そしてUBYTEは私がVec3ub
Vec3i(vec3ub)
からVec3iをインスタンス化したいのですが、コンパイラはそのためのコンストラクタがないと文句を言い数
を拡張..
理由をISN私は以前に引用した二次コンストラクタを有効にしませんか?
これを有効な質問にするには、型パラメータを含める必要があります。例えば、 'Vec3t'は' T'型のパラメータがありません。また、 'constructor(v:Vec3t)'はこのパラメータを持つ必要があります。必要な型パラメータでコードを修正すると、コードが正しくコンパイルされます。 – nhaarman
申し訳ありませんが、彼らは私の頭の上にそれらを書いたときに失われた、私はそれらのコードで持っているが、私はまだエラーを得る – elect