30. april 2003 - 19:12Der er
17 kommentarer og 1 løsning
funktioner i seperat c fil HASTER
Hey
har et C program med en fil main.c ;o)
I denne fil vil jeg bruge nogle funktioner. for at den ikke skal blive MEGET lang vil jeg gerne have disse i en seperat C fil func.c. Men hvis jeg i func.c har denne
int test() { return 9; }
og i main.c laver en #include func.c og dernæst bruger min funktion får jeg en fejl. implicit decleration siger den.....
skal jeg lave en func.h med prototypen int test(); og så inkluder denne header i min main.c. Og udover inkluder func.h i func.c???
Den eneste forklaring jeg kan komme på, hvorfor #include "func.c" skulle give den fejl er hvis include er neden under main (eller hvis der er en tyrk-fejl).
Men jeg vil på det kraftigste fraråde at includere al C kode i en enkelt fil.
zz.c: In function `int main()': zz.c:3: `f' undeclared (first use this function) zz.c:3: (Each undeclared identifier is reported only once for each function it appears in.) zz.c: In function `void f()': zz.c:7: `void f()' used prior to declaration
int main() { printf("%d %d\n",1); printf("%d\n",1,2); }
$ cc zzzz.c
printf("%d %d\n",1); ..........^ %CC-W-OUTTOOFEW, In this statement, the number of conversion specifiers to print f exceeds the number of values to be converted. Conversion specifiers from "%d" onward will process meaningless and perhaps invalid data. at line number 5 in file DISK2:[ARNE]ZZZZ.C;2
printf("%d\n",1,2); ...................^ %CC-I-OUTTOOMANY, In this statement, additional arguments to printf are provided for which there are no conversion specifiers in the format string. Arguments f rom "2" onward will be evaluated, but not processed by printf. at line number 6 in file DISK2:[ARNE]ZZZZ.C;2
Men ihvertfald finder jeg det meget naturligt, hvis include af en C fil nedenunder der hvor den bliver brugt giver en "implicit decleration siger den....." som i spørgsmålet.
hmm ja jeg kom hurtigt frem til samme. problemet var at jeg lige havde glemt en prototype. SÅ point til den første med noget kontrsuktivt
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.