Type mismatch turbo pascal

Fermé
zebraline Messages postés 5 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 15 juin 2012 - 29 oct. 2009 à 11:24
 sarah - 23 mai 2011 à 02:08
Bonjour,

j'ai écris une procédure (qui fait elle même appelle à une procedure et à une fonction) , procedure multi; quand je compile j'ai l'erreur type mismatch qui apparait et je ne sais pas comment la résoudre.
l'erreur apparait sur la virgule de element1, element2 (partie surligné en gras ci dessous)
J'espère que vous pourrez m'aider
Merci d'avance


const POSITION_MAX = 12;
type t_operateur= string ;
type t_element_pile = record
op:t_operateur;
nombre: integer;
end;

type t_pile = record
tab : array [1..POSITION_MAX] of t_element_pile;
position : integer;
end;


procedure empiler (var pile : t_pile; element : t_element_pile) ;
begin
pile.position := pile.position+1;
pile.tab[pile.position] := element;
end;

procedure depiler (var pile : t_pile; var element : t_element_pile);
begin
element := pile.tab[pile.position];
pile.position := pile.position-1;
end;

procedure multi(var pile : t_pile ; debut: integer ; fin : integer);
var element1 , element2, multip, ope, position : t_element_pile;

begin
for position.nombre :=debut to fin do
if pile.tab[position.nombre].op = '*'
then
begin
pile.position:= pile.position + 1;
depiler(pile, element1);
depiler(pile, ope);
depiler(pile, element2);
multip := multiplication( element1, element2 );
empiler (pile, multip);
for indice := pile.position + 1 to fin - 2 do
pile.tab[pile.indice] := pile.tab[pile.indice+2];
end;
end;
A voir également:

1 réponse

zebraline Messages postés 5 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 15 juin 2012
29 oct. 2009 à 13:38
je viens de trouver mon erreur
0
et s'était quoi au juste ? parce que la même chose m'arrive a moi là et je ne trouve pas mon erreur
0