"srinivas reddy" <srinivasreddy_ m@yahoo.com> wrote...[color=blue]
> Assuming that x is an int, why int* p = &++x is legal and int* p =
> &x++ or int* p = &(x++) is illegal.[/color]
'x++' does not return an lvalue. You cannot take address of
something that is not an lvalue. '++x' returns 'x' after it
has been incremented. And in this case 'x' is an lvalue.
Comment