Why is an enum variable an rvalue here?
clr
itself is an lvalue of type Color
. But the function does not accept a Color
. It accepts a (reference to) unsigned int
. So, the argument is converted (implicitly). And the result of the conversion is a prvalue of type unsigned int
.