IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

[PB de compilation]


Sujet :

Caml

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [PB de compilation]
    Bonjour à tous, dans le cadre d'un projet scolaire, je travaille sur des fonctions CAML et C

    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
    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)

    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 ???

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    on ne modifie que les références
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    let j = ref 0 and k = ref 0 in
    ...
    j := !k;
    k := !k + 1;
    ...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Pense à indenter ton code, pour qu'il soit plus lisible.

Discussions similaires

  1. Réponses: 15
    Dernier message: 10/10/2002, 19h19
  2. [Installation] Borland Compiler 5.5 sous XP
    Par Ligey dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 28/09/2002, 22h45
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo