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

Visual C++ Discussion :

Égalité non trouvée


Sujet :

Visual C++

  1. #1
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut Égalité non trouvée
    bonjour,
    j'ai une égalité qui retourne false:
    Je vous met le code et la trace de débug:
    le code :
    et la trace de débug est :
    Je cherche à comprendre comment tourner cette diifficultée
    Jai eu beau copier la trace de débug qui montre un point dans le code, le résultat est toujours le même.
    celui qui m'aidera sera

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 734
    Par défaut
    Bonjour.

    Quel est le type de ptWord ? Un char * ?

    Si oui, il faut utiliser la fonction strcmp ou strncmp pour faire la comparaison, sinon ce sont les deux pointeurs qui sont comparés, c'est-à-dire les adresses des deux variables qui sont forcément différentes.

    Une autre façon d'y arriver, puisque tu semble faire du C++, est d'utiliser des classes dédiés aux chaînes de caractères, tel que std::string, qui a l'avantage de redéfinir l'opérateur de comparaison.

  3. #3
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut oui, C'est Vrai
    ptWord est un char*
    j'ai donc le source qui a changé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    char* ptTemp = ".";
    		if( strcmp(ptWord, ptTemp) = 0)
    mais c'est refusé par le compilatuer qui me dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1>..\..\..\..\WordNet\src\MorphSynset.cpp(1003): error C2106: '='*: l'opérande gauche doit être une l-value

  4. #4
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 734
    Par défaut
    Citation Envoyé par JeanNoel53 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    char* ptTemp = ".";
    		if( strcmp(ptWord, ptTemp) = 0)
    Petite erreur de débutant
    Attention à la différence entre = et == !

  5. #5
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut La solution
    J'ai voulu après le premier message initialiser un pointeur pour avoir une l-value;
    J'ai donc utilisé une variable temporaire.
    J'ai déplacé cette variable temporaire et j'ai séparé la déclaration due l'affectation.
    il s'agit bien d'une affectation
    mais il y avait bien une erreur sur le strcmp qui doit être comparé à 0:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( strcmp(ptWord, ptTemp) == 0)

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

Discussions similaires

  1. [Plugin] Classe non trouvée au runtime
    Par toto_toto dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 15/02/2005, 10h36
  2. Création version client - fichiers non trouvés
    Par Pascal dans le forum WinDev
    Réponses: 7
    Dernier message: 03/12/2004, 11h34
  3. [debutant][Classpath][Linux] Classe non trouvée
    Par oghma777 dans le forum Général Java
    Réponses: 5
    Dernier message: 15/10/2004, 21h26
  4. COleDispatchDriver et Afx.h -> LPCSTR non trouvé
    Par Bayard dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/09/2004, 08h42
  5. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 20h59

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