|
la décomposition en package empêche certaines choses circulaires: msg#00024lang.ada.france
with tabloid; pragma Elaborate_All (tabloid); generic type donneesBranches is private; type donneesNoeuds is private; type TabDonneesBranches is array (Positive range <>) of donneesBranches; with function "<"(db1 : donneesBranches; db2 : donneesBranches) return boolean; donneeNoeudParDefaut:donneesNoeuds; package arbres is type arbre is private; private type branche; package branches is new tabloid(branche); use branches; type arbre is record donneeNoeud : donneesNoeuds; branches : branches.typeTabloid; end record; type branche is record donneeBranche : donneesBranches; noeudSuivant : arbre; end record; end arbres; error: premature use of incomplete type error: instantiation abandoned je me vois obligé de faire des pointeurs dans ce package alors que le package tabloid fournit deja un pointeur sur tableau non contraint, tableau vide à l'initialisation il aurait fallu que ça autorise ça, et que ça fasse storage error (ou prgm error) à l'exécution (avec par ex un warning à la compilation, vu que ça arrive pas souvent au passage, ça aurait aussi autorisé ceci type arbre(n:natural) is record donneeNoeud : string(1..n); case (n) is when 0 => null; when others => branches : arbre(n-1); end case; end record; _______________________________________________ Site WWW de l'association Ada-France: http://www.ada-france.org/ Ada-France@xxxxxxxxxxxxxx http://www.ada-france.org/mailman/listinfo/ada-france |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Spécification ASIS: 00024, Dominique Canazzi |
|---|---|
| Next by Date: | Re: Spécification ASIS: 00024, Laurent Guerby |
| Previous by Thread: | Spécification ASISi: 00024, Dominique Canazzi |
| Next by Thread: | liages divers: 00024, Thomas De Contes |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |