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 :

Utilisation de "normal_distribution<double>"


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 54
    Points
    54
    Par défaut Utilisation de "normal_distribution<double>"
    Bonjour,

    j'ai un petit soucis de code pour lequelle je n'arrive pas à comprendre la raison. Pourriez-vous m'aider ?

    J'ai une classe dont 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
     
    class paramGaussian : public param {
     
    public:
        paramGaussian(const QString paramId);
        void setValue(const QStringList paramValue);
        double getValue() const;
     
    private:
        double m_mean;
        double m_std;
        std::default_random_engine m_generator;
        std::normal_distribution<double> m_distribution;
    };
    Voici le .c :
    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
     
    paramGaussian::paramGaussian(const QString paramId) : param(paramId), m_mean(0), m_std(0) {
        m_distribution(this->m_mean, this->m_std);
    }
     
    void paramGaussian::setValue(const QStringList paramValue) {
        QLocale c;
        this->m_mean = c.toDouble(paramValue[0]);
        this->m_std = c.toDouble(paramValue[1]);
        m_distribution(this->m_mean, this->m_std);
    }
     
    double paramGaussian::getValue() const {
        return m_distribution(m_generator);
    }
    J'ai une erreur sur la fonction "normal_distribution<double>", si je comprends bien sur les paramètres d'entrée (j'ai lu que ça devait être des RealType et je lui passe des double, ça viendrait de ça ?

    Merci pour votre aide !

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2007
    Messages : 373
    Points : 764
    Points
    764
    Par défaut
    Comme ça, ça devrait mieux passer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_distribution = std::normal_distribution<double>(this->m_mean, this->m_std);
    Quand tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_distribution(this->m_mean, this->m_std);
    tu fais appel à std::normal_distribution<double>::operator(), et pas au constructeur.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 127
    Points : 54
    Points
    54
    Par défaut
    Ok, c'est résolu ! Merci Kalith.

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

Discussions similaires

  1. Variable avec quotes(simple ou double)dans un input
    Par -Neo- dans le forum Langage
    Réponses: 1
    Dernier message: 25/06/2007, 11h23
  2. Pourquoi utiliser un Long ou un Double ?
    Par n!co dans le forum Langage
    Réponses: 7
    Dernier message: 21/02/2007, 17h52
  3. utilisation d'une prise mural double ???
    Par StyleXP dans le forum Ordinateurs
    Réponses: 4
    Dernier message: 07/12/2005, 15h28

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