CBFalconer <> writes:
[...]
> No, functions are peculiar things. If f(whatever) is a function,
> the expression f means the address of the code of that function.
> The expression &f says take the address, and means the same thing.
So far, so good.
> Similarly &&f, and &&&&&&&f.
You are mistaken on at least two counts.
First of all, &&f is tokenized as "&&" "f", so &&f is a syntax error.
vippstar mentioned this in text that you quoted (but apparently
neglected to read).
Second, &f is an expression of pointer-to-function type, but it's not
an lvalue, so & &f violates a constraint.
It's true that the following are all equivalent:
&f
f
*f
**f
***f
****f
etc.
because (a) "**" isn't a single token, and (b) the unary "*" operator
doesn't require an lvalue as its operand.
(I'm sure the trolls are chortling in their caves about one of the
"regulars" criticizing another. They are welcome, as always, to ...
never mind, this is a family newsgroup.)
--
Keith Thompson (The_Other_Keith)
kst- <http://www.ghoti.net/~kst>
Nokia
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"