your compiler gave confusing info. mine gcc-4.x gives: error: invalid initialization of non-const reference of type ‘char**&’ from a temporary of type ‘char**’ test.cpp:4: error: in passing argument 1 of ‘void PtPtRef(char**&)’ So, the following should work:
... ppc = &pc; PtPtRef(ppc); ... note your PtPtRef function does ++ppc, probably you want (*ppc)++ instead of ppc++.
【在 r****t 的大作中提到】 : your compiler gave confusing info. mine gcc-4.x gives: : error: invalid initialization of non-const reference of type ‘char**&’ : from a temporary of type ‘char**’ : test.cpp:4: error: in passing argument 1 of ‘void PtPtRef(char**&)’ : So, the following should work: : : ... : ppc = &pc; : PtPtRef(ppc); : ...