Fehler: did you forget the '&' ?



  • Was soll mir dieser Fehler sagen?

    PI_TranslationStage.cpp: In member function 'double PI_TranslationStage::correctRelativeMove(int, double)':
    PI_TranslationStage.cpp:962: error: invalid use of member (did you forget the '&' ?)

    Hier der Code dazu:

    double newposition =  correctRangeMinMax(currentPosition + move,
                                                 device()->limitPositionExperimental().metric.min,
                                                 device()->limitPositionExperimental().metric.max);
        return newposition - position;
    

    mit

    class CommonPositioningController
    {
    public:
    ...
        class Limits
        {
        public:
            Limits(): min(0), max(0), standard(0), intervall(0) {}
            Limits(double nmin, double nmax, double nstandard = 0, double nintervall = 0)
                : min(nmin), max(nmax), standard(nstandard), intervall(nintervall) {}
            double min;
            double max;
            double standard;
            double intervall;
        };
    ...
    };
    
    namespace PhysikInstrumenteDevices
    {
        struct PI_Unit_Limits {
            CommonPositioningController::Limits metric;
            CommonPositioningController::Limits counts;
        };
    }
    
    PI_Unit_Limits PIDevice::limitPositionExperimental()
    {
        return d->positionExperimental;
    }
    


  • Du hast bei einem Methodenaufruf die Klammern vergessen. Bei welcher kann man an dem Code nicht erkennen.



  • Es hätte heißen müssen

    return newposition - currentPosition;
    

    position ist eine Funktion position()


Anmelden zum Antworten