Array als Pointer einer Funktion übergeben



  • Hallo Leute!

    Hoffe das mir jemand weiterhelfen kann. Möchte alle Var's als Pointer übergeben aber will beim Array nicht funktionieren. Auch bei cin>>Noten[i]; bockt die Entwicklungsumgebung herum. Was habe ich falsch gemacht?

    Muss dazusagen das ich Programmieranfänger bin 😞

    #include<conio.h>
    #include<iostream>
    
    using namespace std;
    
    void Eingabe(int *Schüler, int *Noten[]){
        int i=0;
    
        cout<<"Bitte geben Sie die Schueleranzahl ein: ";
        cin>>Schüler;
        cout<<"\n\n";
    
        while(i<Schüler){
            cout<<"Bitte geben Sie die Note des "<<i+1<<" Schuelers ein: ";
            cin>>Noten[i];
            i++;
            }
    }
    
    int main(){
        int Schüler=0;
        float Schnitt=0;
        int Noten[36];
    
        Eingabe(&Schüler, &Noten);
        return 0;
    }
    

  • Mod

    Entscheide dich: Entweder '*' davor oder '[]' dahinter, beides zusammen ist doppelt gemoppelt. Der Unterschied zwischen den beiden Varianten: Keiner.

    edit: Du willst wirklich einen int Wert (Schüler) per Pointer übergeben? Guck dir mal an, was eine Referenz ist. Das ist viel einfacher und hat (fast) den gleichen Effekt.



  • mhm, wenn man das * weglässt ist es dann nochimmer ein Pointer??



  • Und Umlaute in Bezeichnern sind eigentlich verboten.


  • Mod

    franz-21 schrieb:

    mhm, wenn man das * weglässt ist es dann nochimmer ein Pointer??

    SeppJ schrieb:

    Der Unterschied zwischen den beiden Varianten: Keiner.



  • Ok, thx für die Hilfe


Anmelden zum Antworten