免费注册 查看新帖 |

Chinaunix

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

编译的时候提示错误,到底错在那里了,大家帮助看看 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-06-08 09:54 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

^_^谢谢各位
我觉得俺对typedef得理解还是可以得
typedef的作用是声明新的类型

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
12 [报告]
发表于 2005-06-08 09:54 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

[quote]原帖由 "DirtyBear"][/quote 发表:


错,struct不是可用可不用的。如果使用了typedef就不能再使用struct的。会提示无法确定变量空间大小。

论坛徽章:
0
13 [报告]
发表于 2005-06-08 10:00 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

aero   
俺以为是应该用struct的
因为typedef的作用是对类型的声明,而不是对变量的定义

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
14 [报告]
发表于 2005-06-08 10:02 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

原帖由 "jimyao" 发表:
aero   
俺以为是应该用struct的
因为typedef的作用是对类型的声明,而不是对变量的定义


我说的只是一种风格和个人喜欢,^_^,用不用,在自己啦。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
15 [报告]
发表于 2005-06-08 10:03 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

原帖由 "jimyao" 发表:
aero   
俺以为是应该用struct的
因为typedef的作用是对类型的声明,而不是对变量的定义


你要是说你的例子中用就不对啦。二楼指出的地方是对的。怎么不自己试试呢?

论坛徽章:
0
16 [报告]
发表于 2005-06-08 10:04 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

原帖由 "aero" 发表:


错,struct不是可用可不用的。如果使用了typedef就不能再使用struct的。会提示无法确定变量空间大小。


以下三段代码在g++ v3..3.3下都编译通过


  1. typedef struct _SCORE_NODE {
  2.    SCORE_DATA data;
  3.    struct _SCORE_NODE* pNext;
  4. } SCORE_NODE;
复制代码


  1. typedef struct _SCORE_NODE {
  2.    SCORE_DATA data;
  3.    _SCORE_NODE* pNext;
  4. } SCORE_NODE;
复制代码



  1. struct _SCORE_NODE {
  2.    SCORE_DATA data;
  3.    _SCORE_NODE* pNext;
  4. } SCORE_NODE;
复制代码


这个编译不过:

  1. struct {
  2.    SCORE_DATA data;
  3.    SCORE_NODE* pNext;
  4. } SCORE_NODE;
复制代码

error: syntax error before `*' token

论坛徽章:
0
17 [报告]
发表于 2005-06-08 10:05 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

DirtyBear
俺觉得你说的正确

论坛徽章:
0
18 [报告]
发表于 2005-06-08 10:06 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

不好意思
我刚刚上来
还没有来得及试呢

论坛徽章:
0
19 [报告]
发表于 2005-06-08 10:09 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

KAO还忘了带源码啦
现编一个测试一下

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
20 [报告]
发表于 2005-06-08 10:11 |只看该作者

编译的时候提示错误,到底错在那里了,大家帮助看看

晕死,看错啦。原来第二个也是typedef啊!偶还以为是又一个直接的定义呢。

如果是这样就不对啦:

  1.         typedef struct ywl {
  2.                 int a;
  3.                 int b;
  4.         } YWL;
  5.         YWL abc;
  6.         struct YWL bbb;   // 这个地方是错误的。
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP