Funktionsaufruf ,Problem mit Rückgabewert ?



  • Ich möchte die Funktion einfuegen in meiner main Funktion ausführen.
    Habe es mit einfuegen(); probiert hier bekomme ich die Meldung das zu wenig Argumente im Funktionsaufruf sind, macht ja auch Sinn da ich keinen Rückgabewert angegeben habe, ich weiß allerdings nicht welchen Rückgabewert die Funktion genau braucht 😕

    struct student
    {
    string fName;
    int matrNr;
    };
    void einfuegen(student feld[], string fName, int matrNr, int &aktAnz)
    {
    for (int i = 0; i < aktAnz; i++)
    {
    feld[i].fName = fName;
    feld[i].matrNr = erzeugeMatrNr();
    }
    }

    long erzeugeMatrNr(void)
    {
    int static MatrNr = 1001000;
    return MatrNr++;
    }



  • Ist ja jetzt sehr schlau, den Aufruf nicht zu zeigen.

    Mit dem nicht vorhanden Rückgabewert hat das nichts zu tun, das ist völlig in Ordnung.



  • Es geht nicht um den Rückgabewert, sondern um die fehlenden 4 Parameter in den Klammern.



  • Ok ich habe wohl eher Probleme mit der Parameterliste, danke für den Hinweis probiere selbst das im Programm zu lösen, denke da passt noch mehr nicht in der Funktion...



  • kann mir jmd ein Bsp. für den Aufruf dieser Funktion geben, da ich nicht weiß wie ich das mit dem Strukturtyp handhaben muss:

    struct student
    {
    	string fName; 
    	int matrNr;   
    };
    
    void ausgabe(student feld[], int aktAnz)
    {
    	for (int i = 0; i < aktAnz; i++)
    	{
    		cout << feld[i].fName << "\t"
    		<< feld[i].matrNr << endl;
    	}
    }
    
    int main(void)
    { 
    ausgabe(??);
    
    }
    

    Habe bereits mehrere Varianten ausprobiert aber hat nicht funktioniert.



  • aktanz ist definiert, Bibliotheken sind auch eingebunden..



  • So etwa:

    int main()
    {
      student s[2] = {{"Bla", 123}, {"Blupp", 456}};
      ausgabe(s, 2);
    }
    

Log in to reply