Probleme pour implementer une file en ada - Ada - Programmation
Marsh Posté le 10-02-2006 à 15:06:54
Ben ça veut dire Tableau anonyme.
Les champs d'un article doivent être d'un type NOMMÉ et non anonyme.
(C'est d'ailleurs la même chose pour les sous-programmes)
Marsh Posté le 10-02-2006 à 15:12:07
tu peut ecrire ça plutôt :
Code :
|
Marsh Posté le 13-02-2006 à 07:48:10
Ok merci pour cette aide.
Je comprends pas vraiment ce que ca change pour le compilateur, mais en effet il n'y a plus d'erreurs a la compilation.
Etrange de pas pouvoir utiliser le type array directement.
Marsh Posté le 14-02-2006 à 14:54:37
dentan a écrit : Ok merci pour cette aide. |
C'est parceque Ada est fortement typé.
Ada exige que les variables soit d'un type nommé pour que le compilateur puisse controller des erreur de typage.
ex:
Code :
|
On peut écrire:
Code :
|
Ce qui a pour effet d'affecter l'ensemble des recettes de la semaine 2 à celle de la semaine 1.
Mais on ne peut pas écrire (et c'est heureux):
Code :
|
Car les 2 tableaux -bien que de même dimensions et contenant le même type - n'ont sémantiquement rien à voir.
Alors pourquoi peut-on écrire :
Code :
|
C'est parceque Ada permet aussi de créer des tableau dit anonymes (i.e sans type).
Et ainsi permet de créer des tableaux sans avoir à créer un nouveau type, lorsque par exemple tu ne veux créer qu'un seul tableau sans exporter de type...
Alors là tu te dis : " mais j'veux créer qu'un seul tableau, juste pour mon article !!!!"
Oui mais non car à ce moment là, ton article (qui est évidemment typé) contient des champs non typés, et là c'est la pagaille dans l'abstraction de ton type, et :
Code :
|
Affecterait des champs qui n'ont pas le même type.
Donc en conclusion, pas de tableau anonyme comme champ d'article.
Marsh Posté le 09-02-2006 à 18:15:09
Bonjour, j'essai d'implementer une module de file en ada, en me serant d'un tableau pour stocker les elements.
Voici la structure de donné que j'essai d'utiliser:
type File is
record
Taille: Integer := 10;
Tab: array (Integer range 1..Taille) of Integer;
Premier, Dernier : Integer := 0;
Longueur : Natural := 0;
end record;
Lors de la compilation j'ai le message:
files_limited.ads:13:15: anonymous arrays not allowed as components
C'est sur la ligne ou je declare le tableau evidement. Quelqu'un pourrait-il m'aider a comprendre l'erreur?
Ca veux dire quoi "anonymous arrays"?
Merci d'avance.