Bonjour, je suis entrain de faire un programme avec un paquetage générique et qui contient un type privé.
voila le code que j'ai actuellement. J'ai un problème au niveau du complilateur (JGrasp) qui me dit "generic type cannot have a completion" donc que mon T_Element n'a pas besoin d'être complété si je comprends bien ... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 generic -- définition d'un élément de la liste type T_Element is private; with function ">" (gauche, droite : T_Element) return Boolean is <>; package Operation_base is -- définition de la liste des membres type T_Liste is limited private; -- définition du lien entre les éléments de la liste type T_Lien is limited private; -- Saisie de donnée procedure Saisie(erreur : in out boolean; num : out integer); -- Ajout d'un élément procedure Ajout; -- Test liste vide function Test_liste_vide return boolean; -- Levée si la liste est vide. Liste_Vide : exception; -- partie privée non visible des utilisateurs du package private -- un pointueur fait le lien entre les éléments de la liste type T_Lien is access all T_Element; -- définition d'un élément type T_Element is record Num : Integer; Suivant : T_Lien; end record; -- définition de la liste chaînée type T_Liste is record Tete : T_Lien; Queue: T_Lien; end record; -- notre liste chaînée La_Queue : T_Liste; end;
J'ai regardé plusieurs exemple de code ... et j'ai vu que quand il y avait le generic et pis un type privé dedans, il n'y avait pas la défénition du type T_Element. Alors j'ai essayer de mettre la définition de mon type T_Element en commentaire .. mais j'obtiens encore plus d'erreur.
Alors voila ma question, j'utilise mon T_Element un peu partout dans mon programme de gestion d'une liste, et le paquetage pour gérer cette liste doit être générique, comment dois-je fais pour résoudre ce problème de "completion"?
Merci d'avance
Stéph
Partager