[gelöst] Zugriffsverletzung bei Funktionsaufruf?
-
Ich habe folgenden Code
ShapingFunctions::ShapingFunctions() : BeamShapingBasics() { } void ShapingFunctions::FresnelTransform(ComplexBeam * inputbeam, ComplexBeam * outputbeam, double z) { ... double x,y; // Plot to Array complex<double> complexvalue; int ArrayPosition; for (int iy=0; iy < size.height(); iy++) { y = BeamShapingBasics::PositionRealY(iy); ... }double BeamShapingBasics::PositionRealY(const int iy) { return (iy - m_CenterPosition.y()) * m_PixelSize.height(); }In der letzten Zeile, beim Aufruf von PositionRealY stürzt das Programm ab mit Zugriffsverletzung. Der Werte von iy ist ok, aber die Funktion wird nicht erreicht.
Was soll das ?
EDIT:
Die Klasse die die Funktion enthält war nicht oder nicht vollständig konstruiert:InternalPhaseObject->ComplexBeam.FresnelTransform(...)Nachdem dieser Pointer auf ein gültiges Object gesetzt war geht es auch.
-
size.height();Wird diese Funktion korrekt ausgeführt? Das ist ja das einzige in der Schleife, was nicht gehen könnte.
Wo genau tritt die Zugriffsverletzung auf? Exakt vor dem Funktionsaufruf? Wird
iynoch richtig inkrementiert?