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 de syntaxe pour arbre BST


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Erreur de syntaxe pour arbre BST
    Bonjour,
    Débutant dans le C++, j'ai du mal avec la syntaxe du code suivant. Brièvement, je dois implémenter un arbre BST pour les cours. Dans le code, je définis un noeud et un pointeur vers un arbre. Je ne cherche pas un lien vers un arbre sur internet, je veux simplement savoir l'erreur de syntaxe que je commets. Voici l'erreur que j'obtiens :

    conflicting types for ‘insertToNode’
    previous implicit declaration of ‘insertToNode’ was here


    Voici la partie du code qui me pose problème:
    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
    struct node {
    	struct node *lChild; //Pointeur vers le fils gauche.
    	struct node *rChild; //Pointeur vers le fils droit.
    	int value; //Valeur, ou cle, du noeud. 
    	int size; //Nombre d'éléments dans le sous-arbre dont le noeud est la racine.
    	int height; //Hauteur du sous-arbre.
    };
     
    struct tree {
    	struct node *root; //Pointeur vers l'element racine.
    };
     
    void insertKey(int i, struct tree *T) { 
    	// Fonction qui insère un entier i dans un arbre de recherche T.
    	insertToNode(i, T->root); // Utilisation de insertToNode.
    	return;
    }
     
    void insertToNode(int i, struct node *n) {
    }
    Merci de votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Consultant BigData
    Inscrit en
    Juillet 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant BigData

    Informations forums :
    Inscription : Juillet 2009
    Messages : 129
    Points : 280
    Points
    280
    Par défaut
    Aurais-tu un fichier header qui contien la déclaration (où tu aurais déjà défini le contenu il semblerait) de insertToNode ?
    A la lecture du message d'erreur, je dirais qu'une fonction (non membre d'une classe d'ailleurs) a été définie deux fois Le compilateur te donne préviens qu'il y a un conflit de type pour insertToNode et qu'il a déjà été déclaré avant.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Non, je n'ai pas de fichier header.
    J'utilise la fonction InsertToNode (je n'ai pas mis le code de cette fonction) dans la fonction insertKey et je ne vois pas dans mon code quel est le conflit de type.

  4. #4
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    je ne suis pas sûr, mais l'erreur vient peut-être de l'utilisation du mot-clé struct dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void insertKey(int i, struct tree *T)
    essaie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void insertKey(int i, tree *T)
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Il me demande alors de déclarer tree *T.

Discussions similaires

  1. [MySQL] Erreur de syntaxe pour une mise à jour
    Par naim2009 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 29/03/2009, 03h42
  2. [MySQL] Erreur de syntaxe pour MySQL
    Par lola13 dans le forum PHP & Base de données
    Réponses: 31
    Dernier message: 02/12/2008, 12h15
  3. Réponses: 5
    Dernier message: 14/12/2006, 12h23
  4. Réponses: 4
    Dernier message: 21/07/2006, 11h00
  5. [SQL2K][BCK] erreur de syntax pour update et insert
    Par lifecraft dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/02/2006, 10h31

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