++iwill give the value r 1 after evaluation, and you cannot apply ++to rvalue.
§6.5.3.1 (p1):
The operand of the increment or decrement prefix operator must be atomic, qualified, or unqualified, real or pointer type, and must be a mutable value of l .
< > 1. , "rvalue", " ". - §6.3.2.1 64).