Array als Referenz übergeben?



  • Hallo 🙂

    Mir fehlt die Syntax um ein Array bei einem Funktionsaufruf als referenz zu übergeben (vektor geht hier nicht).

    Z.B.

    int arr[100];
    
    void machWas(int[100]& arr) {
    // ...
    }
    

    Und wie wäre das bei einem zweidimensionalem Array?



  • Zweidimensional wäre so:

    void machWas(int (&arr)[100][100]) {
      // ...
    }
    

    Eindimensional geht zwar, aber nicht so, wie du gezeigt hast:

    void machWas(int (&arr)[100]) {
      // ...
    }
    

    Weil dein Code etwas nach Java aussieht muss ich fragen, weshalb vektor nicht geht.



  • erleuchteter schrieb:

    Zweidimensional wäre so:

    void machWas(int (&arr)[100][100]) {
      // ...
    }
    

    Eindimensional geht zwar, aber nicht so, wie du gezeigt hast:

    void machWas(int (&arr)[100]) {
      // ...
    }
    

    Weil dein Code etwas nach Java aussieht muss ich fragen, weshalb vektor nicht geht.

    Kann es sein, dass das nur moeglich ist, wenn "arr" kein Klassenattribut ist? Bevor ich "arr" zu einem Klassenattribut umfunktioniert habe, hat alles geklappt?



  • Verlorener schrieb:

    erleuchteter schrieb:

    Weil dein Code etwas nach Java aussieht muss ich fragen, weshalb vektor nicht geht.

    Kann es sein, dass das nur moeglich ist, wenn "arr" kein Klassenattribut ist? Bevor ich "arr" zu einem Klassenattribut umfunktioniert habe, hat alles geklappt?

    Nee. Das kann nicht sein.
    Aber da steht ja noch eine offene Frage im Raum: warum sollte ausgerechnet in Deinem Fall ein Container "nicht gehen"?



  • Furble Wurble schrieb:

    Verlorener schrieb:

    erleuchteter schrieb:

    Weil dein Code etwas nach Java aussieht muss ich fragen, weshalb vektor nicht geht.

    Kann es sein, dass das nur moeglich ist, wenn "arr" kein Klassenattribut ist? Bevor ich "arr" zu einem Klassenattribut umfunktioniert habe, hat alles geklappt?

    Nee. Das kann nicht sein.
    Aber da steht ja noch eine offene Frage im Raum: warum sollte ausgerechnet in Deinem Fall ein Container "nicht gehen"?

    Mikrocontrollerprogrammierung, da gibt's meist keine stl 😞

    Trotzdem haut das hier nicht hin. Ich probier das nochmal und versuch ein Beispiel aufzusetzen.


Anmelden zum Antworten