C/Visual C - Ayuda en consola

 
Vista:

Ayuda en consola

Publicado por Federico (1 intervención) el 11/04/2006 00:29:45
Hola recien empiezo a programar en visual c++ y me salta este mensaje de error que se refiere a una linea de If:

"left operand must be l-value"

Alguien me puede decir que significa
Desde ya muchas gracias

Federico
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda en consola

Publicado por fernando.gomez (1603 intervenciones) el 11/04/2006 21:23:45
Mmm... tá complicado explicarlo usando palabras. Va un ejemplo.

int i = 5;

es correcto, porque i es una variable a la que se le puede asignar un valor. Además, el operador = necesita que haya un elemento al que se le pueda asignar un valor (eso quiere decir eso de l-value), así que como i sí es, no hay problema.

Ahora imagina esto, suponiendo que foo es una función sin parámetros.

foo() = 5;

¿Por qué truena este código? Pues porque foo es una función, y a las funciones no les puedes asignar un valor (ES DECIR, NO SON L-VALUE).

¿Capizcas? Generalmente este tipo de errores se dan cuando -por error de dedo- pones el operador de asignación en lugar del de comparación... i.e:

if (foo() = true) { ... }

en lugar de

if (foo() == true) { ... }

Prueba a revisar esto.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar