免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: aleenhu1983
打印 上一主题 下一主题

结构体指针为什么指向自己成员的时候出错了,请高手指点! [复制链接]

论坛徽章:
0
21 [报告]
发表于 2006-05-15 20:13 |只看该作者
写清楚点嘛,人家想帮你都不知道怎么帮

论坛徽章:
0
22 [报告]
发表于 2006-05-15 20:24 |只看该作者
我已经写出来了,拜托各位指点指点了.整整半天还多 都在弄这个也没成功,急啊!

论坛徽章:
0
23 [报告]
发表于 2006-05-15 20:40 |只看该作者
原帖由 aleenhu1983 于 2006-5-15 16:21 发表
头文件里的定义是这样的:
struct        ether_arp {
        struct        arphdr ea_hdr;                /* fixed-size header */
        u_int8_t arp_sha[ETH_ALEN];        /* sender hardware address */
        u_int8_t arp_spa[4];                /* sender protocol addre ...


"dereferencing pointer to incomplete type"

在这个compilation unit里, struct ether_arp没有定义, 只有声明.

论坛徽章:
0
24 [报告]
发表于 2006-05-15 20:53 |只看该作者
可是这是RedHat Linux系统自带的呢.不过从出错的提示来看好像是这个意思.难道要自己先定义???

论坛徽章:
0
25 [报告]
发表于 2006-05-15 21:08 |只看该作者
原帖由 aleenhu1983 于 2006-5-15 20:53 发表
可是这是RedHat Linux系统自带的呢.不过从出错的提示来看好像是这个意思.难道要自己先定义???


要include正确的header

论坛徽章:
0
26 [报告]
发表于 2006-05-15 21:16 |只看该作者
路径是绝对正确的了.要不也不能把它内部的代码写出来给大家看了.所以我才郁闷,不知道该怎么办呢.按理来说,对其它的文件和 结构体引用的时候是正确的,但是用他的时候就出了那个错误.
字面理解正是你说的那样,但是它是系统的 头文件,又怎么会是没完成的讷 ?

论坛徽章:
0
27 [报告]
发表于 2006-05-15 21:28 |只看该作者
原帖由 aleenhu1983 于 2006-5-15 21:16 发表
路径是绝对正确的了.要不也不能把它内部的代码写出来给大家看了.所以我才郁闷,不知道该怎么办呢.按理来说,对其它的文件和 结构体引用的时候是正确的,但是用他的时候就出了那个错误.
字面理解正是你说的那样,但是它 ...


不是路径.

你的代码include哪个header有struct ether_arp定义?

论坛徽章:
0
28 [报告]
发表于 2006-05-15 21:44 |只看该作者
原因应该是如 Alligator27 所说的那样。

"dereferencing pointer to incomplete type" 出现的原因是没有找到相应类型的定义。对于系统提供的类型来说,就是在程序中没有包含正确的头文件。

论坛徽章:
0
29 [报告]
发表于 2006-05-15 22:06 |只看该作者
#include <linux/if_ether.h>

论坛徽章:
0
30 [报告]
发表于 2006-05-15 22:18 |只看该作者
是有点难度

[ 本帖最后由 第二场雪 于 2006-5-15 22:21 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP