On Friday, 2 March 2018 at 10:01:34 UTC, Jonathan M Davis wrote:
On Friday, March 02, 2018 09:44:20 psychoticRabbit via Digitalmars-d-learn wrote:
trying to do this C code, in D, but getting error:
"Error: assignment cannot be used as a condition, perhaps `==`
was meant?"

any help much appreciated:

while ((*dst++ = *src++)) {}

You can't use = in a while loop's condition like that in D, regardless of what you do with parens. You'll need to refactor the code so that the assignment is done in the loop's body.

This is of course only partly true.

while ((*dst++ = *src++) != 0) {}

works just great, and also better shows what's actually being tested for in the loop.


Reply via email to