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 :

Erreur liée à l'opérateur "||"


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut Erreur liée à l'opérateur "||"
    Bonjour à tous, j'aurai besoin d'aide sur un probleme que je ne comprend pas. Dans un constructeur j'essaye de blinder les valeur recues en paramettre (une chaine de caractere). En gros si il recoit "A" "B" "C" ou "F" il initialise l'attribut sinon il lui donne une valeur par defaut. Pour ca j'utilise l'operateur || comem ceci:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #include <iostream>
    #include "grade.h"
     
    using namespace std;
     
    Grade::Grade(string letter, double weight)
    {
    	if(letter="A" || letter="B" || letter="C" || letter="F")
    	{
    		gradeletter=letter;
    	}
    	else gradeletter="F";
     
    	gradeweight=weight;
    }
     
    string Grade::getLetter()
    {
    	return gradeletter;
    }
     
    double Grade::getWeight()
    {
    	return gradeweight;
    }
    Et lorsque je compile, j'ai l'erreur suivante:
    grade.cpp(8): error C2677: '||' binaire*: aucun opérateur global trouvé qui accepte le type 'std::string' (ou il n'existe aucune conversion acceptable)

    Voici le .h:
    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
    16
    17
    18
    #ifndef GRADE_H
    #define GRADE_H
     
    using namespace std;
     
    class Grade
    {
    public:
    	Grade(string =" ", double = 0.0);
    	string getLetter();
    	double getWeight();
     
     
    private:
    	string gradeletter; // example: gradeletter: “A”
    	double gradeweight; // example: gradeweight: 4.0
    };
    #endif

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Par défaut
    Bonjour,

    Il faut utiliser == et non = pour faire une comparaison, sinon c'est une affectation.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    Merci pour ta réponse. J'ai déja essayé et lorsque je fait ca j'ai l'erreur:
    Error: aucun operateur "==" ne correspond à ces opérandes

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Par défaut
    As-tu inclue string ?

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    Je ne l'avais pas inclu ! Je pensais que ajouter std::string ou using namespace std suffisait...

    Ca marche merci beaucoup !

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

Discussions similaires

  1. [MySQL] Syntaxe erreur apres avoir mis un quote '
    Par AyManoVic dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/07/2010, 16h50
  2. Réponses: 2
    Dernier message: 29/04/2010, 15h33
  3. [MySQL] Supprimer les erreurs de syntaxe dues aux quotes
    Par gotenks dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2006, 16h10

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