program project1; {$mode objfpc}{$H+} type TConstHolder = class public const C = 10; end; TSimple = class Arr: array [0..TConstHolder.C] of Integer; //this works end; generic TGeneric = class Arr: array [0..T.C] of Integer; //but here is error // Can't evaluate constant expression end; begin end.