On Tue, Feb 02, 2016 at 05:04:06PM +0000, Al Viro wrote:
 
> FWIW, the actual rules are
>       unary-expression: postfix-expression |
>                         ++ unary-expression |
>                         -- unary-expression |
>                         - cast-expression |
>                         + cast-expression |
>                         ! cast-expression |
>                         ~ cast-expression |
>                         * cast-expression |
>                         & cast-expression |
>                         sizeof unary-expression |
>                         sizeof ( type-name )
>       cast-expression: unary-expression |
>                        ( type-name ) cast-expression
> Note that while e.g.
>       ++ ++ n
> is allowed by grammar, it runs afoul of the constraint for ++ argument, which
> must be a modifiable lvalue.  None of the operators above yield that, so
> the rules for ++ and -- might as well have been ++ postfix-expression and
> -- postfix-expression resp.

Unless I'm mistaken, * cast-expression yields an lvalue.

    - Kevin

Reply via email to