[問題] Wrapping/Widening + Var-args
在設計overloading method時, 如下:
method(5);
..
void method(long i) {}
void method(Integer i) {}
void method(int... i) {}
我們知道優先權順序是widening > wrapping > var-args,
但是如果將上述三者做一些組合,
method(5);
..
void method(long... i) {}
void method(Integer... i) {}
照理說應該是 widening + var-args > wrapping + var-args,
但是compiler抱怨說 reference to "method" is ambiguous,
所以想來問一下各位先進, compiler在挑選overloaded method時詳細的演算法,
先謝謝啦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.239.172
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 5 篇):