It will be silly if the "correct" answer from your teacher is that Bar() somehow deletes the pointers =D, but there is no clue here. Afterall it is only a "detect", not something we should never do (in fact people have to pass pointers frequently).
x is the address of the pointed-to value. (As is y.)
It's perfectly ok to pass a pointer as a parameter of Bar().
[EDITED]
Why pushing all the posts up with unnessary replies