Problem mit Zugriff per []-Operator



  • Hallo,

    ich habe im Moment das Problem, dass ich mit Hilfe eines selbstgeschriebenen Indexoperators keinen geeigneten Zugriff auf die gewünschte float-Stelle in einem selbstgeschriebenen "Vector" bekomme. Bei Ausdrücken der Form

    test[1] += 5;
    test[1] *= 5;
    test[1] = test[2} * 4;
    usw.
    

    bekomme ich immer die Fehlermeldung "value required as left operand of assignment". Ich verstehe noch nicht genau was das bedeutet bzw. was ich nun beheben muss... Hier noch mein umdefinierter Operator:

    float operator [] ( unsigned int i ) {return *(matrix+i-1); }
    

    wobei matrix ebend mein internes Array ist.

    Danke für die Hilfe 🙂



  • float& operator [] ( unsigned int i ) {return *(matrix+i-1); }
    

    Mit Referenz erst kannst Du auch ins Array reinschreiben.



  • Danke, da merkt man wieder, dass mir noch die Grundlagen fehlen...


Anmelden zum Antworten