error in return statement
Jarrett Billingsley
jarrett.billingsley at gmail.com
Tue Feb 10 08:32:09 PST 2009
On Tue, Feb 10, 2009 at 11:16 AM, zorran <zorran at tut.by> wrote:
> possibly error in return statement:
> ====
> bool fn1(Object o1, Object o2 ) {
> return o1.opEquals(o2); // opEquals return int
> }
> ====
>
> compiler writes:
> "Error: cannot implicitly convert expression (o1.opEquals(o2)) of type int to bool"
>
> But:
> ====
> bool fn2() {
> return 1;
> }
> ====
> compile ok!
>
> DMD 1.039
>
In http://www.digitalmars.com/d/1.0/type.html, the bool section:
"The numeric literals 0 and 1 can be implicitly converted to the bool
values false and true, respectively. "
That's what's happening with fn2. If you did:
bool fn2() { int x = 1; return x; }
you would also get an error.
More information about the Digitalmars-d-bugs
mailing list