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

C Discussion :

Erreur compilation "hash table"


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut Erreur compilation "hash table"
    Bonjour,
    j'ai un probleme
    mon programme: creer une table de hachage afiin de stocker des liste d'information
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    typedef struct L {
         char mot[100];   
        char donnee[100];
        struct L *next;
    }Liste;
    
    struct HashTable {
      int mod;                      // Nombre d'éléments de la table
      Liste *table;            // Pointeur sur la table allouée
    };
    
    
    // déclaration des fonctions 
    
    unsigned hash_cle(char *chaine);
    int fonctHachage(liste_mot* );
    void hashTableInit(HashTable ht, int mod);
    
    void hashTableInit(HashTable& ht, int mod) 
    {
      // Nombre d'éléments de la table
      ht.mod = mod;
      
      // Allocation de la table
      if ((ht.table = (Liste*) malloc(mod * sizeof(Liste))) == 0) {
        fprintf(stderr, "Plus de mémoire\n");
        exit(1);
      }    
    
      // Initialisation de la table
      // Au début toutes les listes sont vides
      for (int i = 0; i < mod; i++)
        ht.table[i] = 0;        // Liste vide     là il ya l'erreur 1
    }
    
    // Affichage complet d'une table de hachage
    void hashTablePrint(HashTable& ht)
    {
      for (int i = 0; i < ht.mod; i++)
        //if (ht.table[i] != 0) {
      //    printf("Entrée %d\n", i);
         listePrint(ht.table[i]);
    }
    
    void listePrint(Liste l)
    {
     while (l != NULL) {
        printf("%d : %s", l->mot, l->donnee);
       l = l->next;
    }
    }
    
    int main(int argc, char *argv[]) 
    { char c;
    int A;
    int val;
        liste_mot* s =NULL;
      HashTable ht;
         // Initialisation de la table
      hashTableInit(ht, 110);
          val=fonctHachage(s);
       A=nbr_mot(s);
    // Affichage de la liste
     hashTablePrint(ht);   
       scanf("%c",c);
        return 0; 
    }



    Bon il ya 8 erreure :
    1- no match for 'operator=' in '*(ht->HashTable::table + (+(((unsigned int)i) * 204u))) = 0'


    aidez moi svp
    merci

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Ceci est du C++.

  3. #3
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    liste_mot c'est quoi ce type il est défini nul part.

    Ce n'est pas un entier mais un element Liste tu ne peut donc pas lui affecter la valeur zero.

    J'abandonne y a trop d'erreurs.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par défaut
    pour moi c'est du C

  5. #5
    Membre éclairé Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Par défaut re
    Citation Envoyé par nikko34 Voir le message
    pour moi c'est du C
    Oui NIKKO je programme en C , mais je c pas pourkoi on la deplacé ici.
    bref.
    ta une idéée comment faire?

  6. #6
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void hashTableInit(HashTable& ht, int mod) 
    {
    C'est peut-être cette ligne qui a induite le modérateur en erreur.
    Car en C++ ça fait un paramètre passer par reference en C ça n'existe pas !
    Et une erreur de plus.

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    D'après le message d'erreur, le compilateur utilisé est un compilateur C++.

Discussions similaires

  1. [MySQL] Supprimer les erreurs de syntaxe dues aux quotes
    Par gotenks dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2006, 16h10

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