Error in my C programming

Richard Sharpe rsharpe at richardsharpe.com
Sun Feb 20 11:21:26 PST 2005


On Mon, 21 Feb 2005, Kathy Quinlan wrote:

> Peter Jeremy wrote:
>
> > On Mon, 2005-Feb-21 00:22:56 +0800, Kathy Quinlan wrote:
> >
> >>These are some of the errors I get in pairs for each of the above variables:
> >>
> >>Wtrend_Drivers.c:15: conflicting types for `Receiver'
> >>Wtrend_Drivers.h:9: previous declaration of `Receiver'
> >
> >
> > Without knowing exactly what is on those lines, it's difficult to offer
> > any concrete suggestions.
> >
> > Two possible ways forward:
> > 1) Change the declaration at Wtrend_Drivers.h:9 to be 'extern'
> > 2) Pre-process the source and have a close look at the definitions and
> >    declarations for Receiver.  You may have a stray #define that is
> >    confusing the type or a missing semicolon.
> >
> > Peter
> >
> Here is a section of my code:
>
> *** Wtrend_Drivers.c ***
>
> (12)void Reset_Network (unsigned char Network)
> (13)   {
> (14)    Length = 0x00;
> (15)    Receiver = 0x00;
> (16)    Node = 0xFF;
> (17)    Command = Reset;
> (18)    Make_Packet_Send(Head , Length, Network, Receiver, Node,
> Command, p_Data);
> (19)   }
>
> *** Wtrend_Drivers.h ***
>
> unsigned char Length , Network , Receiver , Node , Command = 0x00;
>
> The above is line 9 of the Wtrend_Drivers.h
> The numbers in () I have added to show the line numbers in Wtrend_Drivers.c
>
> These are some of the errors I get in pairs for each of the above variables:
>
> Wtrend_Drivers.c:15: conflicting types for `Receiver'
> Wtrend_Drivers.h:9: previous declaration of `Receiver'

Ummm, move the definition of all those variables to before their first
use and see what that does. Also, check that you do not have an earlier
definition that does not include the extern keyword.

Regards
-----
Richard Sharpe, rsharpe[at]richardsharpe.com, rsharpe[at]samba.org,
sharpe[at]ethereal.com, http://www.richardsharpe.com


More information about the freebsd-hackers mailing list