On Wed, 16 Aug 1995, Jörgen Zigge Sigvardsson wrote:
> > This is what is known as 'prototyping'. What this means is you let a
> > function or a file know that an external function exists. Alternately,
> > you could use:
>
> > void hunt_victim();
>
> > If you change the structure of the parameters anywhere, using this
> > example keeps you from having to redefine prototypes. This, of course,
> > isn't true if you change the returned data structure or the name.
>
> > It seems obvious to some, not so obvious to others. It's good you
> > brought that up, however.
>
>
> Hmm.. A prototype like that would 'eliminate' warnings, or?
>
> If you prototype with void hunt_victim() you havent specified the arguments.
>
> Lets say the function is defined like this ;
>
> void hunt_victim(char *, struct char_data *)
> {
> /* Some code */
> }
>
> And you call the the function like this;
>
> char *string;
> struct char_data *ch;
>
> hunt_victim(ch, string);
> ...
>
> Note that the arguments are switched.
>
> Now my question is, will the compiler complain at the function-call or
> will it just let it slip?
>
> >From what I've learned, the prototype is the one the compiler use for detecting
> faults, and the prototype allows any kind of arguments, but the function dont.
>
> // Ziggur @ BlueMage
>
>
Actually, it will catch the error while linking, but the compiler will
let it through.
This archive was generated by hypermail 2b30 : 12/18/00 PST