Message d'erreur

Fermé
Sonya - 13 sept. 2007 à 22:58
 Sonya - 14 sept. 2007 à 17:47
Salut,
j'ai ecris un programme simple en turbo pascal,à l'execution Le curseur s’arrête à writeln(p) ; et affiche le message d’erreur suivant :
ERROR 64 cannot read or write variable of this type
Et Je voudrais s’il vous plait afficher l’adresse de (p) .
Please help me.
Voila mon code :

program exemple1;
type pinteger = ^integer;
var q : integer;
p : pinteger;

begin
p:=nil;
q:=100;
new(p);
p^:=q;
writeln(p^);
writeln(p);
end.

5 réponses

salut

oula ! c'est (très) loin pour moi le turbo-pascal, mais bon je vais tenter de t'aider :)
que veut tu fire exactement, tu veut afficher l'adresse memoire du pointeur ?

parce que en affichant "p^", tu affiche la valeur de l'espace memoire représentée par l'adresse du pointeur.
mais en affichant "p", tu affiche l'adresse memoire elle même (et non son contenu)
0
J'ai oublié de précisier que visiblement la fonction "writeln" de turbo pascal ne permet pas d'afficher l'adresse d'un pointeur directement,
si c'est vraiment ce que tu veut faire, il faudra la convertir en texte.
0
Merci de votre reponse mais je ne sais pas la convertir en texte ,si vous pouvez m'ecrire l'instruction?
Merci d'avance.
0
je dirais

writeln(Seg(p^),":",Ofs(p^));
ou
writeln(Seg(p),":",Ofs(p));

désolé mais me souviens plus du tout :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Merci de votre reponse.

@+
0