Alors la je seche

Alors la je seche - Ada - Programmation

Marsh Posté le 03-02-2003 à 17:26:47    

voila les bouts de code :
 
dans des fichiers .ads:

Code :
  1. subtype Address is Natural;
  2.    type Pointer is new Controlled
  3.      with record
  4.         Id : Natural range 0 .. Pointer_Max;
  5.      end record;


 
dans un fichier .adb:

Code :
  1. function Allocate return Pointer is
  2.    Addr : Address;
  3.    P : Pointer;
  4. begin
  5.    Addr := Allocate;
  6.    P.Id := Get_Free_Root;
  7.    Roots(P.Id).Addr := Addr;
  8.    Roots(P.Id).Counter := 1;
  9.    return P;
  10. exception
  11.    when No_More_Address => raise Out_Of_Space;
  12. end Allocate;


 
et voila la question : comment est-ce possible de faire Addr := Allocate lorsque Addr est à l'origine un "natural" et Allocate retourne un "Pointer"
pour info, ca compile, c pas une erreur dans le code
mais je capte vraiment pas
et si qqn a une explication a me donner, evidemment je suis preneur :)
en vous remerciant

Reply

Marsh Posté le 03-02-2003 à 17:26:47   

Reply

Marsh Posté le 03-02-2003 à 19:57:42    

petit up désespéré :(

Reply

Marsh Posté le 04-02-2003 à 15:52:27    

muad_dib a écrit :

petit up désespéré :(


 
tiens salut!
 
en fait je crois que ce "Allocate" fait référence à celui déclarar dans Address_ADT.ads
et c pour ça qu'il retourne une addresse
 
Remarque: le prof a dit qu'il ne fallait pas s'occuper de ce code (Pointer_ADT.adb)  :non:  
 
 :hello:


---------------
Dod:S
Reply

Marsh Posté le 05-02-2003 à 10:14:47    

oui, merci, t'as raison
 
en effet j'avais oublié qu'il y'avait 2 fonctions allocate, une qui renvoie un "pointer" et l'autre une "address"
 
heu, sinon, pour le tas (heap) on doit le fabriquer nous meme non ?
et si oui, il faut le faire dans le programme de test, ou dans le package address_adt ?
 
t'es encore en train de bosser dessus?:)

Reply

Marsh Posté le 05-02-2003 à 21:37:55    

d'après ce que g compris, il faut creer le tas dans le paquetage address-adt
je n'ai presque rien fait et je passe demain matin  :cry:  
 


---------------
Dod:S
Reply

Marsh Posté le 06-02-2003 à 09:29:37    

bienvenue au club
 
je crois que j'devais passer a 10h
or il est 09h32 et je suis encore chez moi...
 
de tte facon il me fallait soit une tres bonne note pour compenser le module de maths, soit rien...

Reply

Marsh Posté le 06-02-2003 à 14:24:59    

tu y as été finalement?
en ce ki me concerne: bof, "vini" "vidi" mais je sais pas si "vici"  :lol:


---------------
Dod:S
Reply

Marsh Posté le 06-02-2003 à 15:03:45    

ah, et t'as fait koi alors ? et le prof a dit koi ? et t'as eu combien a peu pres?:)
moi j'y suis pas allé... j'ai trouvé plein de choses plus intéressantes a faire


Message édité par muad_dib le 06-02-2003 à 15:04:15
Reply

Marsh Posté le 09-02-2003 à 10:41:02    

muad_dib a écrit :

ah, et t'as fait koi alors ? et le prof a dit koi ? et t'as eu combien a peu pres?:)
moi j'y suis pas allé... j'ai trouvé plein de choses plus intéressantes a faire


 
bof, il nous a posé 2-3 questions pis ensuite on a montré ce ki marchait à la "chargé de td" : on a réussi à faire ce kil fallait avec le paquetage des arbres :)
dommage que tu n'y sois pas allé car ça va compter dans ta note en ADA ET en ALGO d'après ce ke g compris :ouch: (2 bulles quoi !)
je sais pas encore kel note g eu  :hello:


---------------
Dod:S
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed