ADA: Accès aux éléments d'un tableau en param

zebi331 Messages postés 78 Statut Membre -  
zebi331 Messages postés 78 Statut Membre -
Bonjour,

Voilà, je débute en ADA. J'ai créé un tableau à deux dimensions et je souhaiterai le passer en paramètre d'une procédure pour initialiser les champs. Mais à la compilation, j'obtiens l'erreur suivante : assignment to 'IN' mode parameter not allowed. D'après ce que j'ai compris, on ne peut pas accéder aux éléments d'un tableau qu'on a passé en paramètre. Mais comment faire alors ?

Je vous mets ci-dessous le code correspondant. Merci de bien vouloir m'aider.

WITH Ada.Text_IO;  

PROCEDURE Puissance_4 IS  
   PACKAGE Txt RENAMES Ada.Text_IO;  
     
   TYPE Pion IS (X, O, Vide);  
   
   TYPE Carre IS RECORD  
      Est_Occupe : Boolean;  
      Un_Pion : Pion;  
   END RECORD;  

------------------------------------------------------------------------  
-- CI-DESSOUS Y'A LE TYPE DU TABLEAU QUE J'AI DEFINI    
---------------------------------------------------------------------------   
   TYPE Grille IS ARRAY(Integer RANGE<>, Integer RANGE<>) OF Carre;   
     
   FUNCTION Initialiser_Grille RETURN Grille IS  
      L : Integer;  
      C : Integer;  
      Une_Grille : Grille(1..10, 1..10);  
   BEGIN  
      FOR L IN Une_Grille'RANGE(1) LOOP  
         FOR C IN Une_Grille'RANGE(2) LOOP  
            Une_Grille(L, C).Est_Occupe := False;  
            Une_Grille(L, C).Un_Pion := Vide;   
         END LOOP;  
      END LOOP;  
      RETURN Une_Grille;  
   END Initialiser_Grille;  
     
--------------------------------------------------------------------  
-- CI-DESSOUS MON INSTANCE DE GRILLE  
-----------------------------------------------------------     
   Une_Grille : Grille(1..10, 1..10);  
    
---------------------------------------------------------------------------  
-- CI-DESSOUS LA PROCEDURE QUI POSE PROBLEME  
------------------------------------------------------------------------   
   PROCEDURE Placer_Pion (Une_Grille : Grille; Un_Pion : Pion; Une_Colonne : Integer) IS  
   BEGIN  
      Une_Grille(10, Une_Colonne).Un_Pion := Un_Pion;  
      Une_Grille(10, Une_Colonne).Est_Occupe := True;   
   END Placer_Pion;  
        
BEGIN  
   Une_Grille := Initialiser_Grille;  
   Placer_Pion(Une_Grille, X, 1);   
END Puissance_4;


A voir également:
  • ADA: Accès aux éléments d'un tableau en param
  • Ada 64 - Télécharger - Informations & Diagnostic
  • Ada way - Télécharger - Outils Internet

1 réponse

zebi331 Messages postés 78 Statut Membre 26
 
Désolé mais j'ai vraiment besoin d'aide.
0