kanner@Apple.COM (Herbert Kanner) (07/26/89)
I wonder what the formal language rule is which forces the following
interpretation on
	int *&pl;
namely:  "pl is a reference to a pointer to an integer."  What disallows
the interpretation 
	int *(&pl); i.e. int pl;?
Finally, how about
	int &*pl;
Is pl here a pointer to a reference to an integer?
-- 
Herb Kanner
Apple Computer, Inc.
{idi,nsc}!apple!kanner
kanner@apple.comdan@oresoft.uu.net (Daniel Elbaum) (07/27/89)
In article <3079@internal.Apple.COM> kanner@Apple.COM (Herbert Kanner) writes:
:I wonder what the formal language rule is which forces the following
:interpretation on
:
:	int *&pl;
:
:namely:  "pl is a reference to a pointer to an integer."  What disallows
:the interpretation 
:
:	int *(&pl); i.e. int pl;?
	int *&pl;
is illegal, since a reference delarator must generally be followed
by an initializer.  A reference is not a pointer but an alias;
given
	int *ip;
	int &pr = ip;
*pr === *ip and &pr === &ip.
Since a reference cannot exist in a vacuum, declaring
a name for the value of the antecedent of a vacuous
reference can have no meaning.
:Finally, how about
:
:	int &*pl;
:
:Is pl here a pointer to a reference to an integer?
It parses that way, but since there's no such thing as
a pointer to a reference, such a declaration can't be used.
-- 
The workaday world must remain transparent to those who maintain it if
they are to find inspired within them a vision of the history they create.
({uunet,tektronix,reed,sun!nosun,osu-cis,psu-cs}!oresoft!(dan)@oresoft.uu.net)