Вопрос про пре/пост инкременты
От: XJess  
Дата: 18.11.10 12:25
Оценка: 5 (1)
Привет всем!
У меня возник вопрос — почему-то VS мне на попытку скомпилить такой код:

int i = 10;
++i++;


выдает сообщение об ошибке:

error C2105: '++' needs l-value


Вопрос в том, ПОЧЕМУ?

Я знаю, что
префиксный ++ принимает l-value и возвращает l-value
постфиксный ++ принимает l-value и возвращает r-value

Так получается, что компилятор считает, что первым выполняется постфиксный, получается... Так что ли? Откуда еще могло взяться r-value?

НО! Я то думала, что первым должен выполниться префиксный. Кстати, вот здесь есть приоритет операций, где префиксный ++ стоит вообще первым по приоритету, а постфиксный — последним.

Может мне кто-нить объяснить, что за хрень в этом выражении происходит?

Заранее спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.