The first one (pointer to reference) is illegal in all versions of C++. The rest two are legal.
The bottomline : Ignore Your Instructor — he/she doesn't know C++, at least in this case.
문제
Recently a c++ expert told me that :
void f(int &*r);
is a valid pass by reference example although I thought this is some kind of pointer to a reference which is illegal. From my knowledge the correct form for pass by reference is either form of the following:
void f1(int *&r);
void f2(int &r);
Can you explain the situation of the first example (function f)?
해결책
The first one (pointer to reference) is illegal in all versions of C++. The rest two are legal.
The bottomline : Ignore Your Instructor — he/she doesn't know C++, at least in this case.
다른 팁
Its not allowed,
from C++ Standard 8.3.2/5:
There shall be no references to references, no arrays of references, and no pointers to references.
and also it does not compile, g++ outputs:
error: cannot declare pointer to 'int&'