if(bool = x) does not give a boolean result
Steven Schveighoffer
schveiguy at yahoo.com
Fri May 7 05:07:36 PDT 2010
On Fri, 07 May 2010 08:02:00 -0400, Graham Fawcett <fawcett at uwindsor.ca>
wrote:
> On Fri, 07 May 2010 07:56:23 -0400, Steven Schveighoffer wrote:
>
>> I have code like this in dcollections:
>>
>>
>> /**
>> * Removes the element that has the given key. Sets wasRemoved to
>> true if the
>> * element was present and was removed. *
>> * Runs on average in O(1) time.
>> */
>> HashMap remove(K key, out bool wasRemoved) {
>> cursor it = elemAt(key);
>> if(wasRemoved = !it.empty)
>> {
>> remove(it);
>> }
>> return this;
>> }
>>
>>
>> However, this does not compile with the following message:
>>
>> dcollections/HashMap.d(561): Error: '=' does not give a boolean result
>>
>> line 561 is the if statement.
>>
>> Since when did bool = bool not give a bool result?
>
> Don't you mean bool == bool, not bool = bool?
No. I meant bool = bool. I'm not comparing two bools, I'm assigning to a
bool, and then using if on the result. At best, this is a bogus error
message.
-Steve
More information about the Digitalmars-d-learn
mailing list