On Sat, Apr 16, 2005 at 01:13:46PM +0800, Steve Yee wrote: > the following code can not compile. is it due to the standard?
Yes, this is not valid C++. int* -> const int* creates a temporary and you can't bind a non-const reference to a temporary. You might mean void testfun(int * const & pr) or just void testfun(int * pr) GCC is correct to reject this code so if you want more information you should try somewhere like comp.lang.c++ > void testfun(const int *&pr) > { > } > > main() Should be "int main()" > { > int *p; > testfun(p); > } hope that helps, jon -- "Democracy is the theory that the common people know what they want, and deserve to get it good and hard." - H.L. Mencken