Haciendo un proyecto de clase me he encontrado con este error:
invalid operands of types ‘float’ and ‘float [12]’ to binary ‘operator!=’
El error se encuentra en el bucle while que señalo en el código. Por lo que entiendo surge de intentar utilizar el operador con dos tipos distintos de variables, pero ambos son arrays
¿Alguien podría ayudarme a saber que pasa? Muchas gracias por adelantado.
Código
void MovimientoEsferico(){ PosicionInicialCartesianasAEsfericas(); float MovimientoEsferico[3]; MovimientoEsferico[0]=posicionInicialEsferica[0]*sinf(posicionInicialEsferica[1])*cosf(posicionInicialEsferica[2]); MovimientoEsferico[1]=posicionInicialEsferica[0]*sinf(posicionInicialEsferica[1])*sinf(posicionInicialEsferica[2]); MovimientoEsferico[2]=posicionInicialEsferica[0]*cosf(posicionInicialEsferica[1]); float diferenciaX = 0; float diferenciaY = 0; float diferenciaZ = 0; float resultadoDivisionX = 0; float resultadoDivisionY = 0; float resultadoDivisionZ = 0; float posicionSatelite[12]; api.getMyZRState(posicionSatelite); //X if(MovimientoEsferico[0]>posicionFinal[0]){ diferenciaX = MovimientoEsferico[0]-posicionFinal[0]; resultadoDivisionX = diferenciaX/6; resultadoDivisionX = resultadoDivisionX*-1; } else if(MovimientoEsferico[0]<posicionFinal[0]){ diferenciaX = posicionFinal[0]-MovimientoEsferico[0]; resultadoDivisionX = diferenciaX/6; } //Y if(MovimientoEsferico[1]>posicionFinal[1]){ diferenciaY = MovimientoEsferico[1]-posicionFinal[1]; resultadoDivisionY = diferenciaY/6; resultadoDivisionY = resultadoDivisionY*-1; } else if(MovimientoEsferico[1]<posicionFinal[1]){ diferenciaY = posicionFinal[1]-MovimientoEsferico[1]; resultadoDivisionY = diferenciaY/6; } //Z if(MovimientoEsferico[2]>posicionFinal[2]){ diferenciaZ = MovimientoEsferico[2]-posicionFinal[2]; resultadoDivisionZ = diferenciaZ/6; resultadoDivisionZ = resultadoDivisionZ*-1; } else if(MovimientoEsferico[2]<posicionFinal[2]){ diferenciaZ = posicionFinal[2]-MovimientoEsferico[2]; resultadoDivisionZ = diferenciaZ/6; } MovimientoEsferico[0] = MovimientoEsferico[0]+resultadoDivisionX; MovimientoEsferico[1] = MovimientoEsferico[1]+resultadoDivisionY; MovimientoEsferico[2] = MovimientoEsferico[2]+resultadoDivisionZ; api.setPositionTarget(MovimientoEsferico); while ((posicionSatelite[0]!=MovimientoEsferico[0])&&(posicionSatelite[1]!=MovimientoEsferico[1])&&(posicionSatelite[2]!=MovimientoEsferico))//en este bucle while esta el error//{ api.getMyZRState(posicionSatelite); api.setPositionTarget(MovimientoEsferico); }