Тип возврата '?:' (Тернарный условный оператор)

Почему первый возвращает ссылку?

int x = 1;
int y = 2;
(x > y ? x : y) = 100;

А второй - нет?

int x = 1;
long y = 2;
(x > y ? x : y) = 100;

На самом деле, второй вообще не компилировался - «не lvalue left of assignment».

207
задан Mechanical snail 24 September 2012 в 10:27
поделиться