![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
Здравствуйте товарисчи! Оч спецфчскй вопрос возник. Не так давно по обстоятельствам пришлось заюзать компилятор Code::Blocks
Я знаю что есть приведение типов а есть такие ситуации когда приведение типов вовсе не обязательны. Например if (int_a == char_b) // то есть если переменная a лежит в диапазоне 256 и она сравнивается с символьным типом, то либо true либо false. Если конкретнее, у меня места в коде, когда надо определить используемые диапазоны значений входящих массивов символьного типа. Ну как бы делаю это очень просто if (charSymbol >= 47) // значит вероятно это цифры. Но компилятор спокойно на стадии сборки сообщает следующее: Компаринг int и char всегда будет возвращать 1 --------------------
'long long long' is too long for GC |
|||
|
||||
| comcon1 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Проверил GCC вот таким кодом:
Подставлял разные буквы:
Ни ругани, ни аномального поведения. Да и за третьим не замечал такого. Добавлено через 4 минуты и 10 секунд Подожди, сомнение закралось в меня и я почитал про C::B. Code::Blocks - это же не компилятор, это IDE! Ты напиши, какой у тебя компилятор-то. |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
NYX, для начала покажите реальный кусок кода, на который ругается компилятор и его ругань.
|
|||
|
||||
| NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
эммм
Multiple compiler support: GCC (MingW / GNU GCC) MSVC++ Digital Mars Borland C++ 5.5 Open Watcom ...and more mingw стало быть Странно, почему то этого не происходит больше, теперь все работает и не могу понять каким образом вот фрагментец:
Это как бы то, на что раньше компилятор матерился... точнее как матерился, он запускался, но результатом работы всегда было true Это сообщение отредактировал(а) NYX - 29.12.2009, 01:15 --------------------
'long long long' is too long for GC |
|||
|
||||
| comcon1 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Нашел вот такой чпок:
Очисть объектные файлы и собери снова. И версию GCC назови заодно. Добавлено через 3 минуты и 2 секунды И кстати, я не пойму, нахрена тебе второй цикл, если можно просто:
|
||||
|
|||||
| NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
Да не циклы это я как бы для проверки вставил
Да а сообщение один в один как у меня было! Это сообщение отредактировал(а) NYX - 29.12.2009, 03:49 --------------------
'long long long' is too long for GC |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Конечно, а почему должно быть другое? Тут просто смысл в том, что компилятор предупреждает когда видит конструкции if (uint_x < 0) или if (uint_x >= 0)... Тут же понятно, что unsigned всегда будет больше либо равен нулю.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |