La expresión de error de C ++ debe ser un LValue modificable

La expresión de error de C ++ debe ser un LValue modificable

Al escribir el código, pueden ocurrir varios errores en el momento de la ejecución. Hay varios tipos de errores como errores lógicos, errores de sintaxis y errores de tiempo de compilación. Los errores lógicos son difíciles de verificar porque no se muestra ningún error en este tipo de errores, mientras que los errores de tiempo de sintaxis y compilación se pueden detectar en el momento de la ejecución. En esta guía, también discutiremos sobre el error "Error: Lvalue requerido como Operando de asignación izquierda". Este error ocurre principalmente mientras se compara dos variables o enteros. Este tipo de error ocurre debido a una idea errónea o error al escribir el código. A veces, los programadores de novatos tienen conceptos erróneos sobre las tareas y los operadores de comparación debido a los cuales enfrentan este tipo de error. A veces, mientras se codifica, el programador hace Mistakea y usa el operador de asignación en lugar del operador de comparación. Esto es fácil de resolver porque en la parte de salida, se requiere la descripción del error que es lvalue.

Sintaxis:

No existe una sintaxis específica para esto porque no es parte del código. Es el error que se muestra en el área de salida cuando ejecutamos el código. El siguiente es un ejemplo sobre cómo se ve este error:

Error: Lvalue requerido como el operando de la asignación a la izquierda

En el error mencionado anteriormente, el Lvalue significa que el objeto que puede tener una ubicación de memoria identificada. También podemos decir que tiene una dirección especificada en la memoria donde se almacena. Cuando hablamos de asignación, puede almacenar los datos.

Ejemplo 1:

Ahora, implementamos un ejemplo en el que generamos este tipo de error y lo resolvemos. Primero incluiremos el archivo de encabezado IOSTream que permite que el compilador realice las operaciones de E/S. Después de eso, creamos tres tipos enteros de variables dentro del método principal. El primer tipo entero es "A" al que asignamos el valor "2". Asignamos el valor "3" a la segunda variable "B" igual que la tercera variable que es "C" donde contiene el valor "3". Después de eso, usamos una instrucción if () para comparar las variables. Pasamos dos condiciones: la primera condición es que la variable "A" no es igual a la variable "B". La segunda condición es que la variable "B" es igual a la variable "C". Si ambas declaraciones son verdaderas, muestra el mensaje "Matajes de comparación". Por último, devolvemos el valor nulo.

#incluir
usando el espacio de nombres STD;
int main ()

int a = 2;
int b = 3;
int c = 3;
Si (a != b && b = c)

std :: cout << "Comparison match" << std::endl;

regresar 0;

Después de la ejecución del código, obtenemos un error que muestra que hay un error que muestra "Lvalue requerido como operando de asignación a la izquierda". Como sabemos, el error se produce en línea y el tipo de error también indica que hay un valor izquierdo (LVALUE) que se requiere a la izquierda del operando al que apunta. Ahora, resolvemos este error reemplazando el operador de asignación "=" con el operador de comparación "= =". Luego, ejecutamos el código nuevamente.

Después de ejecutar el código nuevamente, obtenemos esta salida que muestra que ejecutamos el código sin tener ningún error. Muestra que nuestras condiciones son verdaderas.

Ejemplo 2:

Realicemos otro ejemplo para tener una mejor idea para resolver estos errores. En este ejemplo, crearemos tres variables y, teniendo el modo de dos variables, lo comparamos con el tercero usando la declaración if-else. Si la comparación coincide, se mueve dentro de la declaración IF. Si no coincide, ejecuta la instrucción de la otra. Echemos un vistazo a nuestro código en el que primero incluimos nuestros archivos de encabezado y luego avanzamos a nuestra función principal donde declaramos las tres variables llamadas "Val1", "Val2" y "Val3" a los que asignamos los valores "2" , "3" y "5". Después de eso, utilizando la instrucción IF, comparamos el modo de variables "Val1" y "Val2" con la tercera variable, "Val3". Si esto coincide, nuestro código interno de la declaración IF se ejecuta. Si no es cierto, se ejecuta la instrucción delse. Al final, ejecutamos nuestro código devolviendo el valor nulo.

#incluir
usando el espacio de nombres STD;
int main ()
int val1 = 2;
int val2 = 3;
int val3 = 5;
if ((val1%val2) = val3)

std :: cout << "Comparison is a match" << std::endl;

demás

std :: cout << "Comparison doesn't match" << std::endl;

regresar 0;

Después de ejecutar nuestro código, descubrimos este tipo de error que indica que nos perdimos el Lvalue ya que el operando izquierdo de la asignación indica la variable "Val3". Esto significa que el Lvalue faltante está a la izquierda de la variable "Val3". Dado que el operador de comparación no se utiliza en este caso y el operador de asignación se usa en su lugar, se produce un error. Una cosa más a tener en cuenta es que no podemos asignar el valor a ninguna variable dentro de la declaración if (). La instrucción if () se usa para la comparación de las variables y no para asignar los valores a la variable. Por eso muestra este error. Ahora, resolvemos este problema reemplazando el operador de asignación con el operador de comparación. Luego, reexecutamos el código.

Después de la reexecución de nuestro código, mostramos el mensaje: "La comparación no coincide". La razón para recibir este mensaje es que las declaraciones de los demás se ejecutan como se ve en el código anterior. Creamos tres variables a las que asignamos los valores y el modo de dos valores se compara con el tercero. Aquí, el modo de "Val1" y "Val2" es "0.6 ", comparándolo con el val3 que contiene el número" 5 ". No es cierto que el valor de "val3" sea igual a "0.6 ". El compilador ignora el código interno de la declaración IF y ejecuta la instrucción de la otra.

Conclusión

En este tutorial, discutimos el error de tiempo de compilación que probablemente ocurre debido a un error o error que el programador realiza. Explicamos el error con una breve descripción y con múltiples ejemplos para facilitarle que tenga una idea al respecto y el método para resolver y comprender el tipo de error. Hicimos todo lo posible para que sea lo más simple posible para que corregirá este error cada vez que aparece en su código mientras escribe un programa.