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 :

Probléme avec l-value


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Probléme avec l-value
    slt les développeurs,
    voila j'ai un problème avec une l-value, j'ai le code suivant dans lequel W est une variable membre que j'essaye de modifier dans une méthode membre mais ça se compile pas
    error C2166: l-value définit un objet const
    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
    26
    27
    // classe Solution_EDS
    class Processus
    {
    public:
    	double b;
    	double sigma;
    	double x0;
     
    };
    class Solution_EDS:public Processus
    {
    private:
    	double h;
    	double W;//Brownien
    public:
    	Solution_EDS(double bi=0.05, double sigmai=0.2, double x0i=1,double hi=0.025):W(0),h(hi)
    	{b=bi;sigma=sigmai;x0=x0i;};
    	double operator()(double t) const;
    };
    double Solution_EDS::operator()(double t) const 
    {
    	Loi_Normale N;
    	//Simulation de Brownien
    	W=+sqrt(h)*N.simule();
    	return (x0*exp((b-sigma*sigma/2)*t+sigma*W));
     
    }
    Pourtant, j'ai ce code qui fait presque la même chose et compile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class A { 
      private: 
        int func_cache; 
      public: 
        A() : func_cache(0) {} 
        void func() { 
          std::cout << ++func_cache << std::endl ; 
        } 
    };
    Merci d'avance de votre aide

  2. #2
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    Bonjour,

    Tu as défini Solution_EDS::operator() comme étant une fonction membre const. Or, une telle fonction ne peut modifier les variables membres de la classe Solution_EDS, telle que l'est W.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    je me suis rendu compte de ça après que j'ai posté mon message
    Merci Florian

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

Discussions similaires

  1. Problème avec dbms_random.value
    Par zoom61 dans le forum SQL
    Réponses: 4
    Dernier message: 18/05/2011, 07h36
  2. Réponses: 2
    Dernier message: 20/06/2006, 09h15
  3. Réponses: 12
    Dernier message: 25/11/2005, 12h29
  4. Problème Cast avec NULL values
    Par WwiloO dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/10/2005, 10h49
  5. Liste déroulante chainée : problème avec value
    Par jpascal dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/08/2005, 21h06

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