Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Не могу понять предупреждение компилятора   Найти похожие ветки 

 
Beglec   (2004-05-14 17:27) [0]


var
Summa: int64; // суммы могут быть больше
Pip: Integer; // число может быть как положительным так и отрицательным
Price: LongWord; // неца продукта не может быть отрицательным
begin
Summa:=Pip*Price;
end;


работает все замечательно
но компилятор выдает
Warning Combining signed and unsigned types widened both operands

я просто вьъехать не могу, чего ему не нравится? проблема со знаками? но умножение это ведь не деление:(
Просто помогите понять суть проблемы. Почему компилятор выдает предупреждение на такой простой пример?


 
panov ©   (2004-05-14 19:02) [1]

Заменить Price: LongWord; на Price: Integer;


 
VMcL ©   (2004-05-14 20:36) [2]

>>Beglec  (14.05.04 17:27)

var
 Summa: Int64; // суммы могут быть больше
 Pip: Integer; // число может быть как положительным так и отрицательным
 Price: LongWord; // неца продукта не может быть отрицательным
begin
 Summa := Int64(Pip) * Price;
end;


 
Goida ©   (2004-05-14 22:44) [3]

Компилятор тебя просто предупреждает, что ты используешь в выражении знаковое число и беззнаковое. Надеюсь ты знаешь что это и какие проблемы всвязи с этим могут последовать...



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
1-1084630778
festu
2004-05-15 18:19
2004.05.30
как узнать, открыта форма или нет?


14-1084425781
Мазут Береговой
2004-05-13 09:23
2004.05.30
Ужасные новости для тех, кто собирается долго жить!


7-1082543883
freeman82
2004-04-21 14:38
2004.05.30
вызов функции в потоке


7-1081952346
DeMoN_Astra
2004-04-14 18:19
2004.05.30
Запуск приложения до авторизации


3-1084006567
Dimedrol
2004-05-08 12:56
2004.05.30
Как лучше строить индексы ?..