Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Выход за границы диапазона


Автор: Aleks26 30.6.2013, 18:21
Код

program dprDiap1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

type Tdiap1 = 1..10;
var A, B, C: Tdiap1;


begin
  A := 3;
  B := 4;
//  C := 12;
  C := A*B;
  Writeln('A = ', Inttostr(A));
  Writeln('B = ', Inttostr(B));
  Writeln('C = ', Inttostr(c));
  Readln;
end.

Подскажите мне, почему если я присваиваю переменной C значение, выходящее за пределы диапазона, я получаю ошибку, а в случае C:=A*B все проходит без проблем, хотя C также в этом случае больше верхней границы диапазона? smile 

Автор: northener 30.6.2013, 19:15
Цитата(Aleks26 @  30.6.2013,  18:21 Найти цитируемый пост)
почему если я присваиваю переменной C значение, выходящее за пределы диапазона, я получаю ошибку

Потому, что эта ошибка видна уже на этапе компиляции.

Цитата(Aleks26 @  30.6.2013,  18:21 Найти цитируемый пост)
а в случае C:=A*B все проходит без проблем, хотя C также в этом случае больше верхней границы диапазона

Включи в опциях проекта Range Checking {$R+} и увидишь эту ошибку в рантайме.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)