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 :

Problème de type avec fonction OCAML


Sujet :

Caml

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 24
    Points : 15
    Points
    15
    Par défaut Problème de type avec fonction OCAML
    Bonjour,

    Je rencontre un problème avec ma fonction « union » dont voici l'erreur : " Error: This expression has type ensemble * ensemble but an expression was expected of type ensemble "

    Voici ma fonction qui a pour but de calculer l’union de deux ensembles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      let union a b =
         let rec aux abr acc =
           match abr with 
           	 Vide,Vide -> Vide
           |Noeud(c,i,ag,ad),Vide -> abr
           |Vide,Noeud(c2,i2,ag2,ad2) -> acc
           |Noeud(c,i,ag,ad),Noeud(c2,i2,ag2,ad2) -> if (Ord.compare i i2) != 0 then (ajoute i2 ( aux ag ( aux ad acc)))
    	 else (aux ag ( aux ad acc))
         in aux a b
    Besoin d'aide svp

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Il est normal que l'inféreur de type t'informe d'une erreur. En effet, je pense que le type de abr soit ensemble il me semble. Il en est de même pour acc. Or, tu explicites bien de filtrer sur uniquement abr. Le filtrage attends donc des valeurs du type ensemble.

    Mais tu filtres avec un tuple d'expression ici (à l'aide de l'opérateur , par exemple dans Vide,Vide). En toute logique, je dirais qu'il faudrait que tu rajoutes acc au filtrage.

    Après, il nous manque un peu d'informations comme ton type ensemble et la signature de ajouter (même si on les devine un peu). Enfin, tu peux utiliser la balise CODE pour insérer du code.

    Essaye donc d'ajouter acc au filtrage et voyons ce que cela fait !

Discussions similaires

  1. Problème de type avec Bigarray
    Par Tangui dans le forum Caml
    Réponses: 2
    Dernier message: 24/05/2009, 15h14
  2. Probléme de type avec les contraintes
    Par kasse dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/04/2009, 14h06
  3. Problème de vitesse avec fonction lookup table
    Par Phelix2003 dans le forum MATLAB
    Réponses: 10
    Dernier message: 06/11/2008, 05h57
  4. Problème de type avec Bison 2.3
    Par Faton dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 15/02/2007, 16h30
  5. problème de permissions avec fonction copy()
    Par jeanfrancois dans le forum Langage
    Réponses: 5
    Dernier message: 30/03/2006, 15h37

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