For a ternary operator, why does the following compile:
a > b ? a=4 : ' ';
But this one does not:
a > b ? ' ' : b=4;
lvalue required as left operand of assignment
That is, what makes the true case different than the false case for assignment?