读书人

这个是什么定义 ?解决方法

发布时间: 2013-06-26 14:29:32 作者: rapoo

这个是什么定义 ?
(WORD_BYTES){ARP_OPCODE_REQUEST_V} ??
我编译后出现错误:
CODE\MAIN.C(43): error C141: syntax error near '{'

在程序中是这样子的:
// check arp packet if match with avr ip let's send reply
if ( arp_packet_is_arp( rxtx_buffer, (WORD_BYTES){ARP_OPCODE_REQUEST_V}) )
{
arp_send_reply ( (BYTE*)&rxtx_buffer, (BYTE*)&client_mac );
return;
}

#define ARP_OPCODE_REQUEST_V0x0001


typedef union _WORD_BYTES
{
WORD word;
BYTE bytes[2];
struct
{
BYTE low;
BYTE high;
} byte;
struct
{
unsigned char bit0:1;
unsigned char bit1:1;
unsigned char bit2:1;
unsigned char bit3:1;
unsigned char bit4:1;
unsigned char bit5:1;
unsigned char bit6:1;
unsigned char bit7:1;
unsigned char bit8:1;
unsigned char bit9:1;
unsigned char bit10:1;
unsigned char bit11:1;
unsigned char bit12:1;
unsigned char bit13:1;
unsigned char bit14:1;
unsigned char bit15:1;
} bits;
} WORD_BYTES;
[解决办法]
if ( arp_packet_is_arp( rxtx_buffer, (WORD_BYTES){ARP_OPCODE_REQUEST_V}) )

{}改成():

if ( arp_packet_is_arp( rxtx_buffer, (WORD_BYTES)(ARP_OPCODE_REQUEST_V)) )
[解决办法]
没见过联合这么用的。。。。。还转换?

WORD_BYTES wb;
wb.word = ARP_OPCODE_REQUEST_V;


arp_packet_is_arp( rxtx_buffer, wb);


[解决办法]
VS IDE中,在不明白的符号上点鼠标右键,选转到定义。

读书人网 >C语言

热点推荐