内モジュラータイプの定義:はなぜこの仕事doesntの、簡潔で一般的なパッケージ
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;
コンパイルすると:
$ 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
$
どのように私は、単一の番号を渡すと定義するためにそれを使用することができますモジュラータイプ?
はい、モジュラータイプにする必要があります。
これでちょっとやってしまったあと、どうしたらいいか知りたい! :-)ここに喜びがないなら、少なくともcomp.lang.adaを試してみてください。少なくとも、そこにいる言語弁護士からの理由を得るためです。 –