On Wed, 26 Sep 2001, Mielikki wrote: > fight.c: In function `hit': > fight.c:908: warning: implicit declaration of function `double_hit' Means exactly what it says. You don't have an explicit declaration of the function double_hit() before it's used, so it makes one up, which . . . > fight.c:913: warning: type mismatch with previous implicit declaration > fight.c:908: warning: previous implicit declaration of `double_hit' > fight.c:913: warning: `double_hit' was previously implicitly declared to > return > `int' conflicts with the actual one. Either move the double_hit() function above where it's called or put a prototype above where it's called. A prototype is a declaration of a function's existence and types. It looks exactly like a function definition (what you have beginning at line 913, there), except instead of the function's body in { ... }, there's just a semicolon: void double_hit(struct char_data *ch, struct char_data *victim, int type); You could also omit the names of the arguments (ch, victim, type) from the prototype. Despite being shorter (and thus easier to type), this isn't necessarily desirable: the names are nicely self-documenting. -dak -- +---------------------------------------------------------------+ | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html | +---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/06/01 PST