あー、typedefで何を言いたいかって考えたらなんとなく分かってきたわ。
単にポインタで受け取る時は値を変更する時にも使うから、
それと同じ状態になって関数を抜けるから無効になってるということで
ポインタを変更したいときはPNode* や PNode& で受け取らないといけないって感じでおk?