pointers - lvalue required as left operand of assignment error when using C -
int main() { int x[3]={4,5,6}; int *p=x; p +1=p;/*compiler shows error saying lvalue required left operand of assignment*/ cout<<p 1; getch(); }
when have assignment operator in statement, lhs of operator must language calls lvalue. if lhs of operator not evaluate lvalue, value rhs cannot assigned lhs.
you cannot use:
10 = 20; since 10 not evaluate lvalue.
you can use:
int i; = 20; since i evaluate lvalue.
you cannot use:
int i; + 1 = 20; since i + 1 not evaluate lvalue.
in case, p + 1 not evaluate lavalue. hence, cannot use
p + 1 = p;
Comments
Post a Comment