Bonjour à tous, dans le cadre d'un projet scolaire, je travaille sur des fonctions CAML et C
Comme vous pouvez le deviner, cette fonction prend en paramètre une matrice qui contient uniquement des types de couleur en mode (R,G,B), des x et y (qui, en fait, me servent de coordonnées), un tableau (tab) qui contient, quand à lui, des structure de type { (R,G,B) ; alt }, et enfin un entier de type nb (qui correspond au nombre de case dans la tableau tab)let test_color matrix x y tab nb =
begin
let k = 0 in
let j = 0 in
while k < nb+1 do
if matrix(x).(y) = (tab.(k)).color then
j := k; (* ---- PB ---- *)
k := k + 1;
done;
j;
end
Le but de cette fonction est de parcourir le tableau tab et comparer la couleur de la coordonnée (x,y) de la matrice avec la couleur du tableau. Quand les deux couleurs correspondent, on sauvegarde la position du tableau pour un usage futur
Mon problème est celui-ci : quand je compile, j'obtient cette erreur :
File "treat.ml", line 193, characters 3-4: (cela correspond à mon j en bleu)
This expression has type int but is here used with type 'a ref
Mon nombre k est un nombre initialisé dans la fonction, et est normalement de type "int", comme le nombre "j". Cependant, je ne peux pas les mettre ensemble, visiblement. Pourriez vous m'aider à me dire comment récupéré la valeur du tableau ???
Partager