'lvalue' means left value. It's … got a bit of a history, going mack to when the C language was invented back in the '70s. Basically, it means "something you can put on the left-hand side of an assignment operator".
Consider x = 5+3;
the subexpressions 'x' and '5+3' are both of type int (presumably) and both of them have some sort of integer value. but '5+3' is not an lvalue, so
5 + 3 = x;
Will give you the error.