КД>>>Сегодня закрыли (без исправлений) мой репорт с описанием баги в компиляторе VC++: неправильно обрабатывается отрицательное i16 значение. КД>>>Вкратце: -1i16 преобразуется в int, а не в short. LVV>>И становится положительным? КД>Нет. Но было бы неплохо, кстати
Не, это как раз будет большой ошибкой. КД>-1i16 преобразуется в (int)-1.
То есть, проблема в изменении размера. КД>Нарваться можно, к примеру, в процессе формирования VARIANT-подобных классов. КД>Будет вызываться не тот оператор присваивания и, как следствие, назначаться VT_I4 вместо VT_I2.
Спасибо!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Бага в VC++ с отрицательными i16 значениями
Здравствуйте, vopl, Вы писали:
КД>>Вкратце: -1i16 преобразуется в int, а не в short.
V>В принципе, они правы. Отрицательных литералов не бывает, минус всегда обрабатывается как арифметическая операцияу
Похоже, да. Я с этой стороны на эту проблему не смотрел. Спасибо!
-- Пользователи не приняли программу. Всех пришлось уничтожить. --