Bonjour, re...
En espérant que vous vous portiez bien...
J'ai un problème concernant les paquetages en paramètre de paquetage.
Dans le main je déclare un subtype T_Langage is integer range 1..150_000;
Je passe une instance de integer_io appelé Langage_Io à un paquetage générique défini comme suit :
Code :
with Text_Io; use Text_Io; generic type T_Language is (<> ); Width : Positive := 3; Backward : T_Language; with function Img(Item : in T_Language) return String; with procedure Get(Item : out T_Language); with package Item_Io is new Integer_Io(<> ); Source_Filename : String := "train"; package Warch is
|
Et à l'utilisation d'un Item_Io.get dans le corps de Warch comme suit :
Code :
Item_Io.Get(source, Item);
|
J'obtien un erreur de compilation.
gcc -c main.adb
warch.adb:47:20: no candidate interpretations match the actuals:
warch.adb:47:20: missing argument for parameter "Item" in call to "Get" declared at a-tiinio.ads:73, instance at warch.ads:9
warch.adb:47:20: missing argument for parameter "Item" in call to "Get" declared at a-tiinio.ads:53, instance at warch.ads:9
warch.adb:47:25: expected type "Ada.Text_Io.Integer_Io.Num" from instance at warch.ads:9
warch.adb:47:25: found type "T_Language" defined at warch.ads:4
warch.adb:47:25: ==> in call to "Get" at a-tiinio.ads:58, instance at warch.ads:9
gnatmake: "main.adb" compilation error
|
Voila, normalement T_Language étant un sous type de Integer et Language_Io une instance de Integer_Io avec T_Language...
Je ne comprend pas.
Pourriez vous me montrer mon erreur. A moins que...
S'il vous plaît ? Merci.