This is a follow-up to an earlier question about why I can\'t use a brace-enclosed initializer as an argument to operator+, which was resolved by looking at this earlier que
It is explained in the answer to this question (which is linked from the question you linked to).
The language grammar only allows a braced list in certain grammatical contexts, not in place of an arbitrary expression. That list includes the right-hand side of assignment operators, but NOT the right-hand side of operators in general.
+= is an assignment operator, + is not.
The grammar for assignment expressions is:
assignment-expression:
conditional-expression
logical-or-expression assignment-operator initializer-clause
throw-expression
assignment-operator: one of
= *= *= /= %= += -= >>= <<= &= ^= |=