Это синтаксическая ошибка.
Использование правила максимальное жевание i+++
маркируется как:
i ++ +
Последний +
является оператором двоичного сложения. Но ясно, что у него нет двух операндов, что приводит к ошибке синтаксического анализатора.
EDIT:
Вопрос из комментария: Можем ли мы иметь i++++j
?
Он маркируется как:
i ++ ++ j
, что снова является синтаксической ошибкой, поскольку ++
является унарным оператором.
На аналогичных строках i+++++j
маркируется сканером как:
i++ ++ + j
, что совпадает с ((i++)++) + j
, которое снова с ошибкой, как i++
, не является lvalue, и использование ++
для него не допускается.