![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| frutta007 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.6.2008 Репутация: нет Всего: нет |
conversion from "ULONG" to "short", possible loss of data
Ребята подскажите плиз, гна что можно заменить, чтоб не было WARNING!! |
|||
|
||||
| georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
У тебя происходит преобразование типов где-то в 7 строчке от середины.
Если приведёшь свой код можно будет сказать что-то конкретное. |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
компилятор тебе говорит что у тебя возможна потеря данных, т.к. ты из типа unsigned long, у которого диапазон значений где-то от 0 до 9 миллиардов(или больше, точно не помню) конвертируешь в short, у которого диапазон значений от -32 тыс. до + 32 тыс. (примерно)
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 6 Всего: 33 |
anatox91 - Это с какого перепугу, у 32-ух битной переменной диаппазон 9 миллиардов ?
Насколько я знаю, это: 4*1024*1024*1024 = 4294967296.
Точнее: -32767 до 32768. Это сообщение отредактировал(а) andrew_121 - 13.6.2008, 11:30 -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
ну да, попутал
Это сообщение отредактировал(а) anatox91 - 13.6.2008, 11:30 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Меня больше интересует как заставить новичков читать "вредные советы"? Или они их наоборот читают и выполняют?
Добавлено @ 11:39 Я вот не психолог, не знаю педагогично ли вместо ответа на вопрос отсылать в гоогле или учить как жить, но если этого не делать процесс обучения общению может затянутся, или нет? Я честно говоря не помню свой первый пост, пойду поищу чтоли, а то что-то я это.. извините Это сообщение отредактировал(а) georain - 13.6.2008, 12:20 |
|||
|
||||
| frutta007 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.6.2008 Репутация: нет Всего: нет |
Про код забыл сорри
C++ short CStreamOutput :: Write(char data) { ULONG written = 0; Destination->Write(&data, 1, &written); return written; вот на этой строке ошибка, т.е. не ошибка а Warning!! } пробовал пивать так:return (short)written , но сказали это не сильно правильно что можно сделать?? |
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
например измени тип возвращаемого значения на ULONG
-------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| frutta007 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.6.2008 Репутация: нет Всего: нет |
Пробовал и так тоже....в этом случае вообще Error возникает!!
|
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
Ну да в классе, то он определен с типом short А что функции write нужно обязательно передавать ULONG. Попробуй сделать так:
-------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| frutta007 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.6.2008 Репутация: нет Всего: нет |
уже разобрался...
надо было вот так return ((written > SHRT_MAX) ? SHRT_MAX : (short)written); спасибо за участие!! |
|||
|
||||
| bronislav |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 334 Регистрация: 29.1.2008 Где: Украина::Донецк Репутация: нет Всего: 3 |
Но от приведения типов ты так и не избавился ;) Варнинг должен продолжать выскакивать или нет? -------------------- ![]() иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes |
|||
|
||||
| frutta007 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.6.2008 Репутация: нет Всего: нет |
Уже нет!!
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |