Ifvwm
06/19/2019, 10:26 AMghedeon
06/19/2019, 10:34 AMvv
is just a local variableIfvwm
06/19/2019, 10:37 AMghedeon
06/19/2019, 10:37 AMclass C<T>(v:T) {
val vv = v
}
Ifvwm
06/19/2019, 10:38 AMghedeon
06/19/2019, 10:38 AM+
operation in your code is not defined for T
, so vv + vv
won't work.Ifvwm
06/19/2019, 10:39 AMmarstran
06/19/2019, 10:40 AMT
.
You probably want this:
fun add(x: C<Int>, y: C<Int>): Int {
return x.vv + y.vv
}
Ifvwm
06/19/2019, 10:43 AMcbruegg
06/19/2019, 10:44 AMT
doesn't work there because it could be literally any type. You could invoke add(C(false), C(false))
Ifvwm
06/19/2019, 10:47 AMcbruegg
06/19/2019, 10:47 AMIfvwm
06/19/2019, 10:47 AMcbruegg
06/19/2019, 10:48 AMIfvwm
06/19/2019, 10:49 AMcbruegg
06/19/2019, 10:49 AMIfvwm
06/19/2019, 10:50 AMcbruegg
06/19/2019, 10:50 AMfun <T> justReturn(C<T> c): T { return c.vv }
T
Ifvwm
06/19/2019, 10:50 AMcbruegg
06/19/2019, 10:50 AM: T
: Unit
Ifvwm
06/19/2019, 10:51 AMcbruegg
06/19/2019, 10:51 AMIfvwm
06/19/2019, 10:52 AMcbruegg
06/19/2019, 10:52 AMfun <T> justReturn(C<T> c): T { return c.vv }
Ifvwm
06/19/2019, 10:53 AMcbruegg
06/19/2019, 10:54 AMIfvwm
06/19/2019, 10:56 AMgildor
06/19/2019, 4:16 PMIfvwm
06/20/2019, 2:50 AM