免费注册 查看新帖 |

Chinaunix

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

请教一下,编译的时候这种non-unique错误是什么意思?哪里有介绍 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-20 17:43 |只看该作者 |倒序浏览
10可用积分
non-unique member requires struct/union object

哪里有介绍这方面的知识啊?
遇到好多这样的错误,不知道怎么回事

论坛徽章:
0
2 [报告]
发表于 2008-06-20 17:51 |只看该作者

回复 #1 larace 的帖子

不知道是因为什么代码有这样的信息出来。希望下面这个链接对你有用
http://zhidao.baidu.com/question/24768767.html

论坛徽章:
0
3 [报告]
发表于 2008-06-20 17:51 |只看该作者
是不是每一行下面还有
left operand of "->" must be pointer to struct/union
的错误?

如果是这样就要注意:
结构本身用 “.”
struct a;
a.b;

结构的指针用 “->”:
struct *a;
a->b;

论坛徽章:
0
4 [报告]
发表于 2008-06-20 17:58 |只看该作者
或者 left operand of "." must be > struct/union object

论坛徽章:
0
5 [报告]
发表于 2008-06-20 18:01 |只看该作者
兄弟我先谢谢各位了

为什么用CC(for C++)编译,和用cc (for c) 编译结果不一样呢,我是说在有错误的这一块。

当然 用cc 和CC 都有错误:(

"tpi.c", line 111: non-unique member requires struct/union object: len
"tpi.c", line 111: warning: left operand of "." must be struct/union object
"tpi.c", line 115: warning: left operand of "." must be struct/union object
"tpi.c", line 121: non-unique member requires struct/union object: len
其中
111行就是
/* *INDENT-OFF* */
        if (ctlbuf.len < (int) sizeof(long))     
                err_quit("tpi_connect: bad length from getmsg");
/* *INDENT-ON* */


之前是这样
struct strbuf           ctlbuf;
ctlbuf.len = sizeof(struct T_conn_req) + addrlen;
ctlbuf.buf = (char *) &conn_req;
就是结构本身啊!

论坛徽章:
0
6 [报告]
发表于 2008-06-20 18:02 |只看该作者
党员同志,快帮帮忙啊!

论坛徽章:
0
7 [报告]
发表于 2008-06-20 18:08 |只看该作者
要不就多贴一些代码 要不就用 ctlbuf->len试一下

论坛徽章:
0
8 [报告]
发表于 2008-06-20 18:12 |只看该作者
为什么用CC编译器就没有这个错误呢
用cc就出现这个错误

论坛徽章:
0
9 [报告]
发表于 2008-06-20 18:14 |只看该作者
还出现了undefined symbol: ctlbuf 这个错误

论坛徽章:
0
10 [报告]
发表于 2008-06-20 18:20 |只看该作者
struct strbuf
是怎么定义的啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP