For one, there's a lot wrong with this line. First, your closing } should be a ), and you shouldn't have a semi-colon there. You also never increment i, so if the loop starts, it will never stop.
I have no idea what the "correct" thing here is, but maybe you wanted something like
1 2 3 4
for (int i = 1; i < N && i > a[i].v; i++)
a[i].p = i; // no idea if this is what you want
Compiler errors have lines associated with them. If you get an error, look for errors in the surrounding lines that the error message gives you.