An lvalue is defined as something that can appear on the left-hand-side of an assignment (like a = b; ). Basically, it needs to be a variable with a name, i.e., not a temporary or constant value (like 5 ). Certain operations, like the assignment operator, require that the variable you use it with be an lvalue, and thus, the error "lvalue required". The other kind of variables, called rvalues (which can appear only in the right-hand-side of an assignment), cannot be converted to lvalues, so if you feed an rvalue to a function or operation that requires an lvalue, you get the "lvalue required" error.
Post the code that is giving you trouble and then we can give more concrete help.