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 le mot const et operateur==


Sujet :

C++

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut probleme avec le mot const et operateur==
    bonjour,
    voila, j'essaie de surchager l'operator == comme ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    bool CSprite::operator==(const CSprite& S){
    	if(S.GetZOrder() != this->GetZOrder())return false;	
    	return true;
    }
    mais si je laisse le const, il me met l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    elekis@ubuntu:~/game/Sprite/src$ make
    g++  -o Sprite.o -c Sprite.cc `sdl-config --cflags` -Wall -ansi
    Sprite.cc: In member function `bool CSprite::operator==(const CSprite&)':
    Sprite.cc:4: error: passing `const CSprite' as `this' argument of `unsigned int
       CSprite::GetZOrder()' discards qualifiers
    make: *** [Sprite.o] Erreur 1
    elekis@ubuntu:~/game/Sprite/src$

    pourtant, dans mon cours, je susi obliger de le mettre.

    qqn serait il me dire pourquoi?? merci

    a+++

  2. #2
    jmv
    jmv est déconnecté
    Membre chevronné Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Par défaut
    à tout hasard, ta méthode GetZOrder() est-elle déclarée const ?

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Effectivement ça doit être ça l'erreur.

    Remarque qui ne mange pas de pain : pourquoi ne pas écrire plus simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return S.GetZOrder() == this->GetZOrder();

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut
    effectivement, elle est pas const (savais pas qu'il fallait)

    pour le pourquoi, en fait, c'est simplement, parceque dans ce == il n'ya pas que ca. j'ai juste mis un code assez court)

    grand merci

    a++

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    effectivement, elle est pas const (savais pas qu'il fallait)
    Seules les fonctions const sont appelables sur un objet const, étant donné que seules celles-ci garantissent de ne pas modifier les variables membres.

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

Discussions similaires

  1. [AC-2003] Probleme avec le mot de passe de l’editeur VB :
    Par Bonero dans le forum Sécurité
    Réponses: 1
    Dernier message: 22/02/2012, 12h49
  2. probleme avec les mots en gras
    Par beghdad dans le forum Word
    Réponses: 17
    Dernier message: 30/09/2011, 00h57
  3. Probleme avec la surcharge de l'operateur <<
    Par zebullax dans le forum Débuter
    Réponses: 3
    Dernier message: 28/12/2010, 09h02
  4. [EasyPHP] Probleme avec le mot de passe
    Par xeloch dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 01/07/2010, 09h24
  5. Probleme avec changement du mot de passe utilisateur
    Par Davenico dans le forum Outils
    Réponses: 2
    Dernier message: 19/12/2003, 14h42

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