Bonjour , je me remets au pascal (que j'avais étudié en classe l'an passé) et j'ai un petit souci.
Voici comment je procède
j'ai un programme principal logique.pas
j'ai deux unités : debug.pas et portes.pas
J'ai des types et constantes globales :
Dois je les déclarer dans chaque unité? (je le fais actuellement)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 //Déclaration des constantes const max = 10; //Déclaration des types type tab_int = array [1..max] of integer ; type tab_string = array [1..max] of string ; //type porte type door = record id : integer; entree1 : char; entree2 : char; entree3 : char; sortie : char; etage : integer; colonne : integer; nb_entrees : integer; operateur : integer end; type tab_portes = Array [0..max] of door;
Ensuite j'ai des procédure dans ces unités dont
procedure ajout_porte(var les_portes : tab_portes ; var porte_numero,etage,colonne : integer ; var portes_sur_etage:tab_int);
que j'appele dans le prog principal
j'ai bien défini ma variable les_portes (qui est globale) dans mon prg principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 repeat //ajout_porte(porte_numero,etage,colonne,portes_sur_etage,entrees,infos,operateurs,sorties); ajout_porte(les_portes,porte_numero,etage,colonne,portes_sur_etage); until...
//Déclaration des variables globales
et pourtant à la compilation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2var les_portes : tab_portes;
j'ai une erreur
73 / 20 logique.pas
Error: Incompatible type for arg no. 1: Got TAB_PORTES, expected TAB_PORTES
Ce sont les memes types!!!
Qu'est ce qui ne vas pas?
Partager