C
Chris Dollin
Richard said:(e-mail address removed) wrote...
In the expression `E++`, `E` must be an lvalue -- a location,
a place to put something, something that could appear as the
target of an assignment statement.
`(T) E`, a cast, isn't an lvalue, etc. So it can't appear as
the operand of `++` (neither prefix nor postfix).
Some gcc's with some command line options set some way don't
bother to tell you about this and generate the "obvious" code
for those cases where there /is/ some "obvious" code.
[I haven't seen the other responses.]
--
"Some of these", Hazleton had said, looking at a /A Clash of Cymbals/
just-completed tangle of wires, lenses, antennae and
kernels of metal with rueful respect, "ought to prove
pretty potent in the pinch. I just wish I knew which
ones they were".
Hewlett-Packard Limited registered office: Cain Road, Bracknell,
registered no: 690597 England Berks RG12 1HN