Skip to main content
GameDev.net gamedev.net
🔒 Locked

Error: Expression must be a modifiable lvalue

Started by Stickmunkee Jan 17, 2013 at 9:29 PM 1 replies 6.2k views
Original Post
Stickmunkee
Stickmunkee

I've looked around gamedev some and it seems like there's a really supportive community, so I decided to try getting support on this error I'm getting.

I'm learning C++ from a book; I'm just beginning in it, so this is a really simple program. The idea is: the user enters a number, which the computer guesses at. However, in the section where I'm modifying the ai's guessing logic, I'm getting an error I can't find a good way to get around. I included a picture of the code and error. When I hover my mouse over the variables "guess" in the arithmetic within the 'if' blocks, it says: "Error: Expression must be a modifiable lvalue"

I would really appreciate an explanation of what that means and maybe a suggestion to fix it.

Many thanks in advance for helpful replies.

fastcall22
fastcall22
Quickfix:
Use a=4+b over 4+b=a.
You cannot assign the value a into 4+b.

If both a=4+b and 4+b=a are to be the same, then which value should be assigned to the other in the expression: a=b?
You can read more about l-values and r-values here.

Also:
You only need to call srand once in your program, please refer to this thread: Why is it bad to call srand multiple times?
Stickmunkee
Stickmunkee

Thank you, this is very helpful

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.