i have to say that u two programs have too muany errors.
for this 'n = 10 * f_return( const int& ii)' . 1) u need define f_return before f, if u do not declare them elsewhere. 2) here u call the f_return, u need not have const..., u use 'n=10*f_return(ii)' is enough. 3) in u f_return, ii is a pointer point to a integer, u i==ii will have warning when compiling, and will assign the ii integer address, not value, to i.