Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2938 connectés 

 


Dernière réponse
Sujet : je comprends pas la reponse du compilateur help
karim63 putain ça passe pas !  :cry:  
 
j'ai mis ça :  
 
defini_graphe(@relation_K,6)^;
 
ce con me met illegal expression  :cry:  
 
si je met ça G:=defini_graphe(@relation_K,6)^;
il me repond  
 
Error: Incompatible types: got "VOID" expected "GRAPHE"
 
 :fou:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
karim63 putain ça passe pas !  :cry:  
 
j'ai mis ça :  
 
defini_graphe(@relation_K,6)^;
 
ce con me met illegal expression  :cry:  
 
si je met ça G:=defini_graphe(@relation_K,6)^;
il me repond  
 
Error: Incompatible types: got "VOID" expected "GRAPHE"
 
 :fou:
karim63

antp a écrit a écrit :

bhen justement, je connais le "type" dont tu parles et c'est bizarre qu'il ait oublié ça si il falait le mettre.
et puis la fonction s'attend à avoir un paramètre de type "relation", donc si tu lui donnais un boolean il dirait que c'est le mauvais type, et pas un mauvais nombre de paramètres  




 
ouep , mais j'ai deja vu pire comme reponse du compilateur, genre il manque un ";" quelque part qu'il me dit, je passe une demi heure a chercher pour finalement me rendre compte qu'il y avait un S a la fin d'une variable.  :??:  :lol:  
J'avais ecrit ensembles au lieu de ensemble  :eek2:

antp bhen justement, je connais le "type" dont tu parles et c'est bizarre qu'il ait oublié ça si il falait le mettre.
et puis la fonction s'attend à avoir un paramètre de type "relation", donc si tu lui donnais un boolean il dirait que c'est le mauvais type, et pas un mauvais nombre de paramètres
karim63

antp a écrit a écrit :

tu dois pas plutôt mettre  
G:=defini_graphe(@relation_K,6)^;
pour lui donner l'adresse de la fonction au lieu du resultat de la fonction ? (ou un truc du genre)
enfin ça me paraît quand même bizarre là... je suis pas trop sûr que c'est ça...  
 
 




 
je vais tenter de mettre le @ .
Oui tu dois avoir raison, le compilateur pense que c'est relation est un integer et le wrong amount of parameters vient du fait qu'il manque (x,y)  apres relation_K.
merci.  
 
En fait j'avais demandé a un type comment mettre une fonction en parametre, et il a du oublier de mantionner le @ .

antp tu dois pas plutôt mettre  
G:=defini_graphe(@relation_K,6)^;
pour lui donner l'adresse de la fonction au lieu du resultat de la fonction ? (ou un truc du genre)
enfin ça me paraît quand même bizarre là... je suis pas trop sûr que c'est ça...

 

[edtdd]--Message édité par antp--[/edtdd]

karim63 super ta reponse :D
dis plutot que t'as la flemme de lire le code.
car la ligne qui merde c'est :  
  G:=defini_graphe(relation_K,6)^;  
 
sauf que le def de ma fonction c'est :
function defini_graphe(R : relation ; nb_sommets:integer): pointer;  
 
et comme tu le vois y a bien 2 parametre dans les deux cas. Donc je capte pas pourquoi il me dit wrong amount of parameters.
macray C'est tous simplement et bonnement une erreur dans ton code...si tu peux essaye de déboguer le programme...
karim63 voila je veux faire ça:
 
type graphe = record
   nb_sommets : integer;
   aretes     : array[Tmin..Tmax, Tmin..Tmax] of boolean;
       end;      
     
type relation = function(x,y : integer):boolean;
 
function relation_K(x,y : integer):boolean;
begin
   relation_K:=not(x=y);
end; { relation_K }
 
type Pgraphe = ^graphe;
 
var Pvaleur_defini_graphe : Pgraphe;
   
function defini_graphe(R : relation ; nb_sommets:integer): pointer;
var x,y : integer;
begin  
   Pvaleur_defini_graphe^.nb_sommets:=nb_sommets;
   for x:=1 to nb_sommets do
      for y:=1 to nb_sommets do
      begin
  Pvaleur_defini_graphe^.aretes[x,y]:=R(x,y);  
      end;
   defini_graphe:=Pvaleur_defini_graphe;
end;
 
var G   : graphe;
 
begin
   new(Pvaleur_defini_graphe);
   G:=defini_graphe(relation_K,6)^;
end.
 
 
mais le compilateur me repond "wrong amount of parameters specified" sur l'avant derniere ligne.
Au fait c'est du Pascal :D

 

[edtdd]--Message édité par karim63--[/edtdd]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)