作者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