Quantifizierer gehen verloren ? Verstehe den Fehler nicht
-
Im folgenden Quelltext
virtual double value(double x, double y) const { double value = m_Array[ArrPos( (int)((x - m_RangeX.min) * m_RealToArray.x), (int)((y - m_RangeY.min) * m_RealToArray.y) )]; return value; } int ArrPos(const int x, const int y) { return y + m_DataSize.height() * x; }erhalte ich den Fehler
1>.\include\qwtplot\QSpectrogramPlot.cpp(87) : error C2662: 'SpectrogramData::ArrPos': this-Zeiger kann nicht von 'const SpectrogramData' in 'SpectrogramData &' konvertiert werden
1> Durch die Konvertierung gehen Qualifizierer verlorenwarum und wie umgehe ich den Fehler?
-
'ArrPos' muss auch 'const' sein.
Zur Interpretation der Fehlermeldung: Der „Qualifizierer“ bezieht sich auf die 'const'-heit des Objekts. In diesem Fall auf 'this', welches in einer 'const'-Methode eben 'const' ist und daher keine non-'const'-Methode aufrufen kann.