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 !