WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  BC5.02: Ambiguouse operators need parentheses

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   BC5.02: Ambiguouse operators need parentheses
server_mouse опубликован 16-11-2001 11:16 MSK   Click Here to See the Profile for server_mouse   Click Here to Email server_mouse  
Делаю тут курсач -- графический редактор TIFF. Для дос. Компилятор вот так страшно ругается на внутрености библиотеки, а именно на операции сдвига:
*op++ = (tidataval_t)(*tp >> 8 & 0xff);
например. Чего ему надо???
server_mouse опубликован 16-11-2001 00:34 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
Сделал вот так:
*opt++=(tidataval_t)((*tp>>8) & 0xff);

Ведь смысл не изменился? У сдвига ведь всеравно бОльший приоритет?
Компилер ругатся бросил.

rodion опубликован 16-11-2001 00:42 MSK     Click Here to See the Profile for rodion  Click Here to Email rodion     
я тоже так думал...
server_mouse опубликован 16-11-2001 13:17 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
2rodion: думаЛ...??? Прикалываешся???
Valery опубликован 16-11-2001 14:05 MSK     Click Here to See the Profile for Valery  Click Here to Email Valery     
При чем здесь думал - не думал?
По стандарту у операторов сдвига действительно должен быть приоритет больше. А вот почему борланд с этим не согласен - это уже другой вопрос. На вижуале компилируется нормально.
2server_mouse: уже не первый глюк борланда, наверное и не последний. Меня они (глюки) вынудили отказаться от борландского компилятора, держу теперь его только для старых проектов, которые переделывать лень.
server_mouse опубликован 16-11-2001 14:18 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
2Valery: К сожалению вижуал не могет собрать дос-программу.
Valery опубликован 16-11-2001 14:24 MSK     Click Here to See the Profile for Valery  Click Here to Email Valery     
sorry - не заметил. ну тогда считай что тебе повезло - твой случай хоть как-то обходится, я наталкивался на такое, что камланием с бубном не обходилось.
rodion опубликован 16-11-2001 19:09 MSK     Click Here to See the Profile for rodion  Click Here to Email rodion     
server_mouse: Не понял...
Вопрос на засыпку чему равен j после
j=j++?
server_mouse опубликован 16-11-2001 22:27 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
2rodion : Увеличится на 1. Хоть присваивание и выполнится первым, но ++ всё равно сработает.
Правильно???
В компилятор не загонял, говорю навскидку.
server_mouse опубликован 16-11-2001 22:37 MSK     Click Here to See the Profile for server_mouse  Click Here to Email server_mouse     
Хех, всё-таки не удержался посмотрел. Всё как я и говорил:
j=j++;
//Присваивание...
0040102F mov eax,dword ptr [ebp-4]
00401032 mov dword ptr [ebp-4],eax
//Увеличиваем на 1
00401035 mov ecx,dword ptr [ebp-4]
00401038 add ecx,1
0040103B mov dword ptr [ebp-4],ecx

;)))

SBV опубликован 17-11-2001 00:28 MSK     Click Here to See the Profile for SBV  Click Here to Email SBV     
Чему? j - после ++; :)

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.