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 habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    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
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    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
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    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.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    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.
    Pas de Wi-Fi à la maison : CPL

+ 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