Estoy sacando los valores de un vector que viene por parametro, pero necesito que si dado un condicional. Esta variable tome un nuevo valor, sin embargo he intentado con & pero no comprendo a un del todo como funciona este comando. Adjunto mi codigo :
void KalmanFilter::JcobianMatrix(const VectorXd &x_in){ //recover state parameter const float & px = x_in(0); const float & py = x_in(1); const float vx = x_in(2); const float vy = x_in(3); // check division by zero if (px==0 && py == 0){ std::cout<<"Err0r: division by zero is not permitted"<<std::endl; std::cout<<"Adjusting to values px 0.01 and py 0.01"<<std::endl; & px = 0.01; & py = 0.01; }
Al intentar compilar obtengo el siguiente error:
error: lvalue required as left operand of assignment
& px = 0.01;