免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1247 | 回复: 5
打印 上一主题 下一主题

请教一个编译错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-03 16:54 |只看该作者 |倒序浏览
我在的程序在编译的时候出现如下错误提示:
dereferencing pointer to incomplete type

我定义了这样一个结构
struct connect
{
     u_int32_t srcip;
}
struct connect *con;
con->srcip = inet_aton("192.168.11.1");//编译提示上面的错误。

请问该怎么解决啊?即使我将最后一句改为con->srcip = 200;也是一样的错误提示。

论坛徽章:
0
2 [报告]
发表于 2006-09-03 17:40 |只看该作者
原帖由 newtest12 于 2006-9-3 16:54 发表
我在的程序在编译的时候出现如下错误提示:
dereferencing pointer to incomplete type

我定义了这样一个结构
struct connect
{
     u_int32_t srcip;
}
struct connect *con;
con->srcip = inet_a ...


1、你的指针能直接这样用???google 指针的用法……

2、
  1. inet_aton(将网络地址转成网络二进制的数字)  
  2. 相关函数  inet_addr,inet_ntoa

  3. 表头文件  #include<sys/scoket.h>
  4. #include<netinet/in.h>
  5. #include<arpa/inet.h>

  6. 定义函数  int inet_aton(const char * cp,struct in_addr *inp);

  7. 函数说明  inet_aton()用来将参数cp所指的网络地址字符串转换成网络使用的二进制的数字,然后存于参数inp所指的in_addr结构中。
  8. 结构in_addr定义如下
  9. struct in_addr
  10. {
  11. unsigned long int s_addr;
  12. };

  13. 返回值  成功则返回非0值,失败则返回0。
复制代码

论坛徽章:
0
3 [报告]
发表于 2006-09-03 18:16 |只看该作者
应该是这样吧
con->srcip = inet_addr("192.168.11.1");

论坛徽章:
0
4 [报告]
发表于 2006-09-03 19:27 |只看该作者

回复 1楼 newtest12 的帖子

当然我的指针是申请空间了,上面我将那步省略了,没有贴上来!

论坛徽章:
0
5 [报告]
发表于 2006-09-03 19:41 |只看该作者
你用的inet_aton转成网络地址的函数对吗?

int inet_aton(const char *cp, struct in_addr *inp)

论坛徽章:
0
6 [报告]
发表于 2006-09-04 14:55 |只看该作者
Your struct definition is error. You must add a ";" in the end.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP