https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70744 --- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> --- You're right. Of course - in C++, ++i and --i are considered lvalues, while i++ and i-- are not.