读书人

一道好题解决大大地给分解决方案

发布时间: 2012-02-29 16:44:11 作者: rapoo

一道好题,解决大大地给分
C51编译环境。

main.h文件内容如下:
#ifndef MAIN_H
#define MAIN_H

typedef unsigned int u16_t;
typedef u16_t ip4addr_t[2];
typedef ip4addr_t ipaddr_t;


#define IPADDR0 192
#define IPADDR1 168
#define IPADDR2 119
#define IPADDR3 1

#endif
//------------------------

接下来,main.c中文件如下

#include "main.h "

const ipaddr_t hostaddr;

hostaddr={(IPADDR0 < < 8) | IPADDR1,(IPADDR2 < < 8) | IPADDR3)};
//以下省略
//------------------------
编译后出现如下问题:
*** ERROR C231 IN LINE 5 OF MAIN.C: 'uip_hostaddr ': redefinition
*** ERROR C141 IN LINE 5 OF MAIN.C: syntax error near ') '
//------------------------

请问为什么??? 熬熬给分!!!

[解决办法]
不明白为什么要这样定义,换成其他方式也可以的啊!我认为按下面改可能可以通过。
改为:
#include "main.h "

const ipaddr_t hostaddr={(IPADDR0 < < 8) | IPADDR1,(IPADDR2 < < 8) | IPADDR3)};

//以下省略
[解决办法]
hostaddr={(IPADDR0 < < 8) | IPADDR1,(IPADDR2 < < 8) | IPADDR3)};


我顶你个肺

少了个(
仔细看看

读书人网 >单片机

热点推荐