Déclaration d'une fonction en const
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:
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);
} |