Error in my C programming

Gary Corcoran garycor at comcast.net
Sun Feb 20 11:27:37 PST 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'

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.

Gary


More information about the freebsd-hackers mailing list