Note: I consider it 'bad form' to use the ternary operator (?:) as an if/else statement.
(cmri.get_bit(i) == 1) ? (turnArray0[i].targetPos = turnArray0[i].pos1) : (turnArray0[i].targetPos = turnArray0[i].pos2);
You should either use it as an operator:
turnArray0[i].targetPos = (cmri.get_bit(i) == 1) ? turnArray0[i].pos1 : turnArray0[i].pos2;
Or use a real if/else statement:
if (cmri.get_bit(i) == 1)
turnArray0[i].targetPos = turnArray0[i].pos1;
else
turnArray0[i].targetPos = turnArray0[i].pos2);