Error in my C programming

Michael C. Shultz reso3w83 at verizon.net
Sun Feb 20 12:12:50 PST 2005


On Sunday 20 February 2005 11:48 am, Kathy Quinlan wrote:
> Gary Corcoran wrote:
> > 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'
> >
> > I would try putting the variables in the header file on separate
> > lines. For example:
> >
> > unsigned char Length = 0;
> > unsigned char Network = 0;
> > unsigned char Receiver = 0;
> > etc.
>
> Done that to no avail :(
>
> Regards,
>
> Kat.

I wonder if Receiver is defined in a include file elsewhere? I checked 
all the header files on my system and it isn't, perhaps it is on your 
though? Maybe easier to rename it?

Here is what I did to hunt for it:

find /usr/include | xargs grep Receiver > log
find /usr/local/include | xargs grep Receiver >> log
find /usr/X11R6/include | xargs grep Receiver >> log

-Mike


More information about the freebsd-hackers mailing list