C++合法,C不合法的数据结构定义?

Mars_xuxcr 2007-03-12 08:40:36
struct z
{
struct z (*p)[256];
};
这样的结构在C语言编译器(gcc vs2005-c-mode)编译都不可通过,请问是不是标准C不支持这样的结构定义?

[xcr@s68 ~]$ gcc -c tt.c
tt.c:5: error: array type has incomplete element type

但在g++ vs2005-c++-mode下都是合法定义
...全文
342 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazy_liu 2007-03-13
  • 打赏
  • 举报
回复
什么啊?嵌套定义?合法?
yingyys 2007-03-13
  • 打赏
  • 举报
回复
bcb 6 中就不行
goodluckyxl 2007-03-13
  • 打赏
  • 举报
回复
可以的 又不是static
sssa2000 2007-03-13
  • 打赏
  • 举报
回复
很正常,c语言也有c90和c99 标准之分
todototry 2007-03-13
  • 打赏
  • 举报
回复
mark
Mars_xuxcr 2007-03-13
  • 打赏
  • 举报
回复
gcc version 4.1.0 20060304 (Red Hat 4.1.0-3)
Mars_xuxcr 2007-03-13
  • 打赏
  • 举报
回复
:) 多谢各位,可能是不同编译器支持不同,gcc3.0版本就支持:-) 但我用的4.0
  • 打赏
  • 举报
回复
汗一个,gcc直接编译过去了
[root@localhost ~]$ cc t.c
[root@localhost ~]$ cat t.c
struct z
{
struct z (*p)[256];
};

int main()
{
}
  • 打赏
  • 举报
回复
数组指针C++中有,C中以前没有不知道C99有没有
你用gcc的c99模式试试看
不想低调 2007-03-12
  • 打赏
  • 举报
回复
帮顶
chenyu2202863 2007-03-12
  • 打赏
  • 举报
回复
我在dev-c++下编译通过,但在TC下就没有...
不明白!
mochen5460 2007-03-12
  • 打赏
  • 举报
回复
加括号表示指向数组的指针,至于为什么在C下不行,我也不知道。既然楼主试过很多编译器,估计就是C不支持了。
WingForce 2007-03-12
  • 打赏
  • 举报
回复
*p干吗要加括号?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧