Vektor in eine Funktion übergeben
-
hallo,
versuche grade einen vektor in eine funktion zu übergeben, mein programm sieht so aus
#include <stdio.h> #include <math.h> void auswertung (double); int main (void) { double v[10] = {1.0,2,0,-4,-5,6,7,8,9,10}; auswertung (v); } void auswertung (double v[]) {
bekomme aber immer die fehlermeldung
Error c:\lcc\projects\ertert.c: 9 type error in argument 1 to `auswertung'; found 'pointer to double' expected 'double'
Error c:\lcc\projects\ertert.c: 17 redefinition of 'auswertung'
Error c:\lcc\projects\ertert.c: 3 Previous definition of 'auswertung' herekönnt ihr mir sagen, was ich falsch mache?
danke
-
Vergleich doch mal die Parameterlisten der Deklaration und der Definition der Funktion auswertung() - erkennst du den Unterschied? (Tip: erstere passt nicht zu der Art, wie du die Funktion anwenden willst)
-
achso,
hab die deklaration jetzt so geschrieben
void auswertung (double[]);
is das richtig so? bekomme jedenfalls keine fehlermeldung mehr. wusste nicht, dass man das [] hinschreiben muss.
-
Ja, so stimmt's (wobei ich der Funktion noch dazusagen würde, wieviele Elemente in dem übergebenen Array stecken). 'double' ist ein einzelner Gleitkommawert, 'double[]' ein Array - das ist ein Unterschied, über den der Compiler gerne informiert werden möchte