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 :

error: expected ']' before ';' token


Sujet :

C

  1. #1
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut error: expected ']' before ';' token
    Bonjour,
    Je débute en C et je ne vois pas d'où vient ce bug (ça fait un moment que je cherche sans trouver...c'est surement un cas d'école, mais je bloque là dessus):
    node.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #ifndef _NODE_H
    #define _NODE_H
    #define MAX_LENGTH_NODE_CSTRING 32;
     
    struct Node {
        unsigned int weight;
        char c;
    };
     
    char* nodeToString( struct Node *nodePtr );
     
    #endif // _NODE_H
    node.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    char* nodeToCString( struct Node *nodePtr ) {
        char result[MAX_LENGTH_NODE_CSTRING]; // ici: error: expected ']' before ';' token
        // ...
        return result;
    }
    Merci de vôtre aide...

  2. #2
    Membre émérite
    Homme Profil pro
    sans emploi
    Inscrit en
    Janvier 2014
    Messages
    539
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans emploi
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2014
    Messages : 539
    Points : 2 601
    Points
    2 601
    Par défaut
    Bonjour,

    effectivement un cas d'école. Regarde la définition de la macro MAX_LENGTH_NODE_CSTRING :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define MAX_LENGTH_NODE_CSTRING 32;
    Une macro est «réécrite» telle quelle à l'endroit où tu l'invoques. Donc ta ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char result[MAX_LENGTH_NODE_CSTRING];
    devient :
    Et effectivement cette ligne est fautive à cause du ; dans la définition de la macro ...

  3. #3
    Membre chevronné
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 855
    Points : 2 177
    Points
    2 177
    Par défaut
    Le problème vient de ta macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define MAX_LENGTH_NODE_CSTRING 32;
    Il faut vraiment voir une macro comme un alias bête et méchant. Donc en gros, le compilateur verra ceci :

    Tu comprends mieux ton erreur du coup ?

    EDIT: ah ba picodev a été plus rapide !

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    En effet , merci à vous deux.

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

Discussions similaires

  1. error: expected ')' before '*' token
    Par imou222 dans le forum C
    Réponses: 3
    Dernier message: 08/08/2013, 12h58
  2. erreur: expected ‘)’ before ‘*’ token
    Par troumad dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 12/10/2010, 21h24
  3. Réponses: 5
    Dernier message: 01/02/2010, 14h06
  4. "expected ';' before '(' token" étrange
    Par argonath dans le forum C++
    Réponses: 10
    Dernier message: 31/01/2010, 12h11
  5. Réponses: 1
    Dernier message: 21/03/2009, 16h04

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