W skrócie, dlaczego robi to dzieło:Definiowanie typu modułowego w opakowaniu generycznego
generic
Max : in Positive;
package Modular_Gen_Issue is
procedure Foo;
private
type Mod_Thing is mod Max; -- NOK
type Int_Thing is new Integer range 0 .. Max; -- OK
end Modular_Gen_Issue;
Z kompilacji:
$ gnatmake modular_gen_issue.ads
gcc-4.4 -c modular_gen_issue.ads
modular_gen_issue.ads:6:26: non-static expression used for modular type bound
modular_gen_issue.ads:6:26: "Max" is not static constant or named number (RM 4.9(5))
gnatmake: "modular_gen_issue.ads" compilation error
$
Jak mogę przekazać w jednym szeregu i użyć go zdefiniować typ modułowy?
I tak, to musi być typ modułowy!
Po tym, jak powiodło mi się to trochę, tak, chciałbym wiedzieć, jak to zrobić! :-) Jeśli nie ma tutaj radości, może spróbuj comp.lang.ada, przynajmniej po to, aby uzyskać powód od niektórych prawników, którzy tam przebywają. –