1 matches bool, 2 matches long
Walter Bright
newshound2 at digitalmars.com
Fri Apr 26 01:00:31 PDT 2013
On 4/26/2013 12:07 AM, Maxim Fomin wrote:
> Regarding bool type as integer type is C atavism and should be abandoned.
There's a very loooong history of 0 being regarded as false and 1 as true - it
goes well beyond C.
> This leads to comic sitatuation presented in the thread when changing literal to
> lvalue or using different enums changes overloading matching.
Yet I showed an analogous example where different overloads were selected based
on a different integer value.
There's no getting away from having to pay attention when declaring different
overloads of a function. In the original example, the correct solution is to
provide a foo(int). I'd be suspicious of any code that only had overloads on
just bool and long - it doesn't make sense.
More information about the Digitalmars-d
mailing list