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 :

Problème de syntaxe


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Par défaut Problème de syntaxe
    Bonjour, merci pour la considération pour mon problème.

    J'ai un peu honte de poster pour une ,à priori, erreur de syntaxe mais je ne trouve vraiment pas la solution.
    A la compilation, une erreur apparait sous forme : "listeChainee.h:21: error: expecte ')' before '*' token", cela concerne la fonction coup* choixCoup(Jeu *j).
    Sachant que la fontion incriminée n'est utilisée qu'une fois dans jeu.c.
    Je sous debian 8 avec une VM, je code sur geany et je compile avec GCC.

    //le listeChainee.h qui contient le prototype de la fonction choixCoup();
    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
     
    #ifndef _LISTECHAINEE_H
    #define _LISTECHAINEE_H
    #include "jeu.h"
    typedef struct coup
    {
    	int posX,posY;
    	struct coup *suivant;
    }coup;
     
    typedef struct affcoups
    {
    	char lettre;
    	struct affcoups *suivant;
    	char couleur[2];
    }affcoups;
     
     
    int compareCoups(coup *debut, const coup *jouable);
    void coupExiste(coup **debut,int x, int y);
    void afficherCoupsPossibles(affcoups *debut);
    coup* choixCoup(Jeu *j);
    affcoups* initAffichage();
    affcoups* vraiAffichage(affcoups *debutaff,coup *debutcoup);
     
     
    #endif
    //le jeu.h
    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
     
    #ifndef _JEU_H
    #define _JEU_H
    #include "humain.h"
    #include "plateau.h"
    #include "listeChainee.h"
    typedef struct Jeu
    {
    	plateau *pl;
    	humain *h;
    }Jeu;
     
    void afficherJeu(const Jeu * jeu);
    Jeu* creerJeu(int tX, int tY,int nbP, int nbM);
    void initialiserJeu(Jeu* jeu);
    void jouerCoup(Jeu *j, coup *cp);
    void jouer(Jeu *j);
    #endif
    // l'utilisation de choixCoup dans jeu.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void jouer(Jeu *j)
    {
    	afficherJeu(j);
    	jouerCoup(j,choixCoup(j));
    }
    Merci d'avance pour vos reponses.

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Il ne faut pas faire l'include de listechainee.h dans jeu.h
    Il faut se méfier d'include dans les includes et ne surtout pas en faire d'inutiles.
    Ici, l'include de jeu.h provoque l'include de listechainee.h qui provoque l'include de jeu.h(qui ne se fait pas car il est en cours), d'où le type Jeu inconnu.
    Autre manière remplacer Jeu* par struct Jeu* qui est interprétable avant la connaissance de Jeu, mais cela n'est pas propre du tout.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Par défaut
    Merci beaucoup , en effet, s'était le problème. J'ai déplacé la fonction dans jeu.h ainsi je n'ai plus besoin d'inclure jeu.h dans listeChainee.h et tout marche sans problèmes .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 11h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 17h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 10h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 14h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 15h10

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