too few arguments to function... wie behebe ich das?



  • beim prototypen schreibt er mir den error...too few arguments....
    und wo ichdas unterprogramm im hauptpr. aufrufe schreibt er dann at this point..
    ....HILFE!!!!!!!!!!!!!!!!



  • lies mal noch mal in deinem grundlagenbuch nach - am besten, du fängst relativ weit vorne an...
    stichwort wäre hier wohl: Funktionen (ab und an auch Unterprogramme genannt).
    Deine Funktion erwartet nun mal einen Parameter - sonst weiß sie nicht, was sie machen soll... du bekommst ja auch kein leeres Blatt in ner Klausur vorgelegt und es heißt: Lösen Sie die Aufgaben...

    bb

    edit: noch dazu ist int was ganz anderes als int[] .

    Um qualifizierte Antworten zu bekommen, musst du nicht nur mehr rumspammen sondern auch deine Shift-Taste mehr benutzen und mehr Ausrufezeichen schreiben - nen paar mal mehr Hilfe schreiben wäre auch gut - sonst denken hier alle, dass dir die Lösung gar nicht wichtig ist...



  • Drück dich vernünftig aus. Ein Ausrufezeichen reicht, und Caps Lock ist auch nicht nötig. Sonst nimmt dich hier niemand ernst.

    Dein Problem besteht darin, dass du die Funktion Spielfeld_erzeugen() ohne Argumente aufrufst, obwohl ihre Deklaration einen int -Parameter besitzt. Im Weiteren stimmt die Definition auch nicht, da hast du nämlich int* .



  • Gabri schrieb:

    beim prototypen schreibt er mir den error...too few arguments....

    Was logisch ist, vergleiche mal den Prototyp mit der Funktion, und schau dir auch deinen Funktionsaufruf an.

    Prototyp: Spielfeld_erzeugen(int)
    Aufruf: Spielfeld_erzeugen()
    Funktionskopf: void Spielfeld_erzeugen(int[])

    Dies sind drei Komplett unterschiedliche Signaturen. Der Prototyp besagt das die Funktion einen Parameter vom Typ int erwartet. Der Funktionsaufruf gibt - obwohl gefordert - keinen Parameter mit. Und der Funktionskopf verlangt keinen int, sondern ein int-Array.

    Falls ein Compiler dies überhaupt durchlässt (und das Programm startet), ist er entweder falsch eingestellt (Bei einem Fehler sollte das Programm nicht compilieren), oder schlicht schlecht.

    Gabri schrieb:

    ...

    Zudem ist deine Tastatur scheinbar kaputt, deine "."- und "!"-Taste scheint massiv zu klemmen.



  • Ich hab jez

    Prototyp: void Spielfeld_erzeugen(int Meer[]);
    Aufruf: Spielfeld_erzeugen(int Meer); // hier schreibt er mir "expected primary expression before "int" "
    Unterprogramm: void Spielfeld_erzeugen(int Meer[])



  • Hi Gabri,

    English: error...too few arguments
    Deutsch: Fehler... zu wenig Argumente

    Deklariation: void Spielfeld_erzeugen(int);
    Definition demnach auch: void Spielfeld_erzeugen(int) { ...code... }
    Aufurf im Programm demnach: Spielfeld_erzeugen(<int_wert>);



  • Ich finde jeder sollte jez haben.



  • # include <iostream>

    using namespace std;

    void Spielfeld_erzeugen(int Meer[]);

    int main()
    {int Meer[7];

    Spielfeld_erzeugen(Meer);

    }

    void Spielfeld_erzeugen(int Meer[])
    {...

    hab schon danke 😃 👍
    echt gutes forum danke nochmals
    cao



  • Na wenn da mal nicht ein Stern am Programmiererhimmel aufgeht...



  • Gabri schrieb:

    Ich hab jez
    ...

    Beim Aufruf hast du ein Int-Array zu übergeben (nach der Signatur), und keine Variablendeklaration zu machen. Und wenn du mit diesen Begriffen nichts anfangen kann bleibt wirklich nur eines: Wie wäre es wenn du dir ein C++ Buch käufst, und ganz vorne anfangst zu lesen (Dir fehlen wirklich jegliche Grundlagen, oder zumindests das Verständnis derselben).


Anmelden zum Antworten