Bonjour,

j'aurais une petite question que je n'arrive pas à résoudre par moi-même : je voudrais déclarer la fonction "getValue()" en const mais le compilateur m'indique une erreur. Auriez-vous une idée pour me débloquer ? Merci d'avance !


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
28
29
30
31
32
33
34
35
36
37
38
39
 
// Le .h
 
class paramGaussian : public param {
 
public:
    paramGaussian();
    ~paramGaussian();
    void setValue(const QStringList paramValue);
    double getValue() const ; // Ici, erreur du compilateur
 
private:
    double m_mean;
    double m_std;
    std::default_random_engine m_generator;
    std::normal_distribution<double> m_distribution;
};
 
// Le .cpp
 
#include "paramGaussian.h"
 
paramGaussian::paramGaussian() : param(), m_mean(0), m_std(0) {
    m_distribution = std::normal_distribution<double>(this->m_mean, this->m_std);
}
 
paramGaussian::~paramGaussian() {
}
 
void paramGaussian::setValue(const QStringList paramValue) {
    QLocale c;
    this->m_mean = c.toDouble(paramValue[0]);
    this->m_std = c.toDouble(paramValue[1]);
    m_distribution = std::normal_distribution<double>(this->m_mean, this->m_std);
}
 
double paramGaussian::getValue() const { // Ici, erreur du compilateur
    return m_distribution(m_generator);
}