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 :

Message d'erreur étrange


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut Message d'erreur étrange
    Bonjour.

    la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(SIZE-(sommet-memoire) < sizeof(cellule_t))
    produit le message d'erreur suivant :
    error: suggest parentheses around ‘-’ inside ‘<<’

    Je ne comprend tout simplement pas d'où vient l'erreur.

    Si cela peut vous aider, voici les déclarations des variables concernées :
    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
    #define SIZE 1<<16
    ...
    ...
    char memoire[SIZE];
    ...
    ...
    struct cellule_m{
    	unsigned int contenu;
    	struct cellule_m *next;
    };
     
    typedef struct cellule_m cellule_t;
    ...
    ...
    char *sommet = memoire;
    Pourriez-vous m'éclairer sur la signification de cette erreur, ou même m'aider à la résoudre?

    Merci!

    WD

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #define SIZE 1<<16
     
    if(SIZE-(sommet-memoire) < sizeof(cellule_t))
    sera transformé en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(1 << 16 - (sommet-memoire) < sizeof(cellule_t))
    Or, l'opérateur - a la priorité sur l'opérateur <<. Du coup, ton code est équivalent à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( 1 << ( 16 - (sommet-memoire) ) < sizeof(cellule_t))

  3. #3
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    Merci pour te réponse.
    En mettant des parenthèses autour de SIZE, ça fonctionne

  4. #4
    Membre éprouvé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 097
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 097
    Par défaut
    [QUOTE=wolfdream;5604898]
    Et avec des parenthèses à la macro, ca donne quoi ?


    edit : Grilled

  5. #5
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 17
    Par défaut
    ça marche également.

Discussions similaires

  1. Étrange message d'erreur
    Par orsayman dans le forum C++
    Réponses: 4
    Dernier message: 21/03/2011, 09h49
  2. Message d'erreur étrange
    Par nanath02 dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 18/03/2010, 17h51
  3. message d'erreur étrange
    Par cotede2 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/06/2009, 20h35
  4. Message d'erreur étrange sur mon serveur
    Par irnatene dans le forum Mandriva / Mageia
    Réponses: 3
    Dernier message: 28/11/2006, 14h20
  5. Message d'erreur étrange
    Par maitreblitosaure dans le forum Access
    Réponses: 10
    Dernier message: 29/06/2006, 11h45

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