Klasse kennt ihre eigenen Werte nicht
-
Ich habe eine Überladene Klasse:
class SpectrogramData: public QwtRasterData { private: double * m_Array; double m_minValue; double m_maxValue; struct structMinMax{ double min; double max; }; structMinMax m_RangeX; structMinMax m_RangeY; struct structXY{ double x; double y; }; structXY m_DataSize; structXY m_RealToArray; public: // Constructor giving back the QwtRasterData Constructor SpectrogramData(): QwtRasterData() { m_Array = NULL; } ...die eine Funktion enthält die nicht aus der eigenen Klasse stammt
virtual double value(double x, double y) const { int xpos = (int)((x - m_RangeX.min) * m_RealToArray.x); int ypos = (int)((y - m_RangeY.min) * m_RealToArray.y); double value = m_Array[ArrPos( xpos, ypos )]; return value; }die Werte m_RangeX.min, m_RangeY.min usw aber schon. Diese haben auch einen sinnvollen Wert bevor die Funktion value aufgerufen wird.
Innerhalb der Funktion value haben aber alle diese Variablen unsinnige Werte.
Warum ?
-
Es ist schlecht, den gleichen Variablennamen zu benutzen wie die Funktion (value).
Dies wird zwar nicht der Grund sein, sondern ich denke, daß der Aufruf bzw. das Objekt nicht richtig erzeugt ist.
Zeig doch mal den Code dafür...
-
Diese Definition stimmt eh nicht
virtual double value(double x, double y) constDie Funktion gehört doch bestimmt zu einer Klasse.

-
pospiech schrieb:
Innerhalb der Funktion value haben aber alle diese Variablen unsinnige Werte.
Die Oberklasse hat nicht zufällig Member mit denselben Namen?
-
- Quatsch gelöscht -
-
Simon2 schrieb:
Hmmmm, wenn ich mich recht entsinne, geht das in Standard-C++ nicht, oder ?
Was soll daran nicht funktionieren? Stören dich die Zeilenumbrüche? Die sind egal, Whitespace ist Whitespace.
-
Aaaaargh ... verlesen - sorry.

Gruß,
Simon2.