dentan a écrit :
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.
|
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 :
- type jour is (lun,mar,mer,jeu,ven,sam,dim);
- type recette_de_la_semaine is array (jour) of float;
- type chronos_de_la_semaine is array (jour) of float;
- rec1,rec2 : recette_de_la_semaine;
- perf : chronos_de_la_semaine;
|
On peut écrire:
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):
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 :
- mon_tableau : array (jour) of un_type;
|
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 :
Affecterait des champs qui n'ont pas le même type.
Donc en conclusion, pas de tableau anonyme comme champ d'article.