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 :

Probleme avec #define


Sujet :

C

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Par défaut Probleme avec #define
    Bonjour,

    Ca me donne tout un tas d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    tree.h:31: erreur: syntax error before numeric constant
    tree.h:31: attention : pas de point virgule à la fin de la structure ou de l'union
    tree.h:32: erreur: syntax error before numeric constant
    tree.h:33: erreur: syntax error before numeric constant
    tree.h:34: erreur: syntax error before numeric constant
    tree.h:35: attention : type defaults to ‘int’ in declaration of ‘t_cellule’
    tree.h:35: attention : la définition de données n'a pas de type ni de classe de stockage
    tree.h:37: erreur: syntax error before ‘*’ token
    tree.h:37: attention : type defaults to ‘int’ in declaration of ‘creer_cellule’
    tree.h:37: attention : la définition de données n'a pas de type ni de classe de stockage
    tree.h:40: erreur: syntax error before ‘*’ token

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Le code suivant étant correct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #define NW 0
    #define SW 1
    #define SE 2
    #define NE 3
    J'en déduis que ces constantes ont activés du code dans image.h. Cete conséquence semble provoquer les erreurs.
    Je n'arrive pas à avoir le code C posté avec les retour fin de ligne.
    Es-t-il possible d'avoir :
    1) de nouveau le code mais avec les caractères fin de ligne
    2) le fichier image.h

    Bon dimanche matin

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    OK, tout est clair.

    1) Je passe sur le fait que je n'ai pas glut.h

    J'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <GL/glut.h>
    en commentaire.

    De même les variables dont le type est définis dans glut.h ont pris un type connu du C "int" ou "unsigned char".
    Le but a été de compiler.

    2) Et là quelle n'a pas été ma surprise de découvrir:

    sachant que l'on a
    Savez-vous ce qu'est un préprocesseur ? C'est quelque chose qui notament (bêtement) va remplacer les chaines de caractères définis par #define dans le code. Ainsi on a:
    Et là, je me met à la place du compilateur: qu'est que vous voulez faire ?
    Définir un pointeur sur structure struct cell *NW; semble légitime. Surtout ne pas lui donner un nom de constante. Attention à ne pas confondre pointeur et valeur de la strucure.

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Premium
    Ca me donne tout un tas d'erreur :
    Ben oui ! Il ne faut pas recycler sauvagement les identificateurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #define NW 0
    #define SW 1
    #define SE 2
    #define NE 3
    suivi de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      //Pointeurs sur les fils 
      struct cell *NW;
      struct cell *NE;
      struct cell *SW;
      struct cell *SE;
    }t_cellule;
    Ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      //Pointeurs sur les fils 
      struct cell *0;
      struct cell *1;
      struct cell *2;
      struct cell *3;
    }t_cellule;
    Ce qui n'est pas du C.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/03/2012, 13h48
  2. Probleme avec un define d'un char **
    Par freuh94 dans le forum C
    Réponses: 3
    Dernier message: 27/05/2009, 16h11
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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