![]() |
|
Модераторы: bsa |
![]()
|
|
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: нет Всего: 32 |
Здравствуйте !
Допустим, у нас есть такая функция:
При компиляции под C++Builder получаем следующий Warning: [C++ Warning] Sh_Unicode.h(122): W8012 Comparing signed and unsigned values UNICODE_STRING.Length имеет тип USHORT. Почему он(Warning) возникает, ведь идет сравнение беззнаковых значений ? Или ему не нравится несовпадение "размерностей" ? Если так, то почему "не нравиться" ? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
Это просто билдер тупит, он такое предупреждение выдает всегда когда диапазоны значений чисел не совпадают.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: нет Всего: 32 |
Спасибо. Правда в 99-и случаях из ста, когда обвиняли в "глючности" среду программирования или Windows, в результате выяснялось, что глюкнутый то программист, а не они. Но, за неимением лучшего, поверю на слово и буду считать, что "тупит билдер", а вовсе не я |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 4 Всего: 459 |
Riply, я скажу более того он тоже самое выдает при прямом указании unsigned int и unsigned short, а при указании unsigned short и unsigned char просто проглатывает. Проверка сравнения unsigned int и unsigned short на eVC происходит без ворнингов.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: нет Всего: 32 |
Alexeis, значит придется привыкать, к тому, что "варнинги"
могут быть неправильными и отключать их на данном участке кода. Но это некузяво. |
|||
|
||||
| Torsten |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 10.6.2008 Где: Pskov Репутация: нет Всего: 7 |
Если хочешь без варнингов , то можно так сделать :
А вообще конечно бредовый варнинг ... оба типа unsigned, а он говорит что один из них signed. --------------------
We have no begining, we have no end. We are infinite. |
|||
|
||||
| Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: нет Всего: 32 |
Спасибо. После тяжких раздумий, решила все же отключать этот "варнинг" на данном участке кода, а не заниматься привидением Причина проста: отключение предупреждений в коде сразу бросается в глаза, а предложенный вариант получается "замаскированным", что на мой взгляд не очень хорошо |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |