配列は 
#define M 4096
double x[M], y[M], z[M];
で確保してあります。

error C2064: 関数ポインタとして評価されない式を使って、関数を呼び出そうとしました。
error C2296: '^' : 不正な左オペランドです。
こんな感じです。

>そもそもそこで配列を使いたい理由がわからん
配列に連続した座標が入っているので。
一つずつ動かして判定したいのです。