too few arguments to function... wie behebe ich das?
-
brauche Hilfe... weiss nicht wie ich diesen error beheben soll
hab schon manches versucht... ohne erfolg....
hier mein quelltext
ich versuche grade Wator zu programmieren und will Feld am schirm erzeugen mit 7*5 und dann kommt diese meldung
-
Geil. Dafür!
-
# include <iostream>
using namespace std;
void Spielfeld_erzeugen(int);
int main()
{
Spielfeld_erzeugen();}
void Spielfeld_erzeugen(int Meer[])
{
for(int i=0;i<5;i++)
{
for(i=0;i<7;i++)
{ Meer[i] = 0;
cout<<Meer[i];
}cout<<endl;
}}
-
wie geht das das ich den quelltext so kopiere das er dann 1:1 auf der seite zu sehen ist, weil der oben ist nicht eingerückt, obwohl ich es am qt creator richtig gemacht hab
-
drum herum.
-
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 alsint[]
.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 einenint
-Parameter besitzt. Im Weiteren stimmt die Definition auch nicht, da hast du nämlichint*
.
-
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 ArgumenteDeklariation: 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).