Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Expression must be a modifiable L-value

I have here char text[60];

Then I do in an if:

if(number == 2)   text = "awesome"; else   text = "you fail"; 

and it always said expression must be a modifiable L-value.

like image 977
Mysterigs Avatar asked May 15 '11 13:05

Mysterigs


1 Answers

lvalue means "left value" -- it should be assignable. You cannot change the value of text since it is an array, not a pointer.

Either declare it as char pointer (in this case it's better to declare it as const char*):

const char *text; if(number == 2)      text = "awesome";  else      text = "you fail"; 

Or use strcpy:

char text[60]; if(number == 2)      strcpy(text, "awesome");  else      strcpy(text, "you fail"); 
like image 170
MByD Avatar answered Oct 11 '22 10:10

MByD