作者godfat (godfat 真常)
看板PLT
标题Re: [问题] 如何处理 conditional operator
时间Fri Mar 20 17:10:10 2009
没有经验,只是一些想法和疑问 @@
※ 引述《macbuntu (邀怪)》之铭言:
: 我试着看 Java Language Spec #15.25, 看了半天好像就是要靠 { A, N1, N2 }
: 这种集合... 所以这表示不是所有 expression 都有唯一的 result type 吗?
我试了一下 javac, 单纯的 func(new X()) 和 func(new Y()) 也是 ambiguous.
这个意思不就是除了 void 以外,所有 exp 的 result type 都必须是集合?
不过似乎只需要针对有 overload 的 function 上的 argument 上做这样的
集合检查就好?
而 exp0 ? exp1 : exp2 的 result type 则会是 exp1 的 result type
与 exp2 的 result type 的交集。最後再跟 function argument 做交集,
结果超过一个以上就是 ambiguous. 其他状况可能不需要这麽麻烦?
--
By Gamers, For Gamers - from the past Interplay
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18