int a,b;
...
((a>b) ? a : b) = value ;
This is error in c.
lvalue required for assigning value.
But This works fine in c++.
Why not in c and in c++? whats the difference? whats happening? i know that it returns lvalue in c thats why error. fine. But why it is so in c and c++ allowed it by returning rvalue?