Ifvwm
06/19/2019, 10:26 AMghedeon
06/19/2019, 10:34 AMvv
is just a local variableghedeon
06/19/2019, 10:36 AMIfvwm
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 AMIfvwm
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.ghedeon
06/19/2019, 10:39 AMIfvwm
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 AMIfvwm
06/19/2019, 10:43 AMcbruegg
06/19/2019, 10:44 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 AMIfvwm
06/19/2019, 10:47 AMcbruegg
06/19/2019, 10:47 AMIfvwm
06/19/2019, 10:47 AMcbruegg
06/19/2019, 10:48 AMcbruegg
06/19/2019, 10:48 AMcbruegg
06/19/2019, 10:48 AMcbruegg
06/19/2019, 10:49 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 }
cbruegg
06/19/2019, 10:50 AMT
Ifvwm
06/19/2019, 10:50 AMcbruegg
06/19/2019, 10:50 AM: T
cbruegg
06/19/2019, 10:50 AM: Unit
cbruegg
06/19/2019, 10:51 AMIfvwm
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 AMIfvwm
06/19/2019, 10:53 AMcbruegg
06/19/2019, 10:54 AMcbruegg
06/19/2019, 10:56 AMcbruegg
06/19/2019, 10:56 AMIfvwm
06/19/2019, 10:56 AMgildor
06/19/2019, 4:16 PMIfvwm
06/20/2019, 2:50 AM