[Issue 1192] broken overridden-function parameter list matching
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Thu Apr 26 21:33:17 PDT 2007
    
    
  
http://d.puremagic.com/issues/show_bug.cgi?id=1192
------- Comment #5 from ddparnell at bigpond.com  2007-04-26 23:33 -------
As I said earlier, the problem is when one uses literals. The compiler is quite
inflexible when it comes to assigning type to literals.
Try this ...
  void processLong(long x){}
  void processLong(ulong x){}
  void main() { processLong(42); }
Now it complains because '42' could be either a long or ulong and it doesn't
know which one you meant. So code one of these below instead ...
  void main() { processLong(42U); }
OR
  void main() { processLong(42L); }
now it stops complaining.
Seriously, if you saw '42' in someone's code how would you decide which of the
functions to call?
-- 
    
    
More information about the Digitalmars-d-bugs
mailing list