当前位置: 技术问答>linux和unix
[火急]编译时 -std=c99 编译报错 请高手帮忙看看
来源: 互联网 发布时间:2016-07-27
本文导语: 程序中使用了 struct ifreq ifr; 编译选项包含 -std=c99 结果编译时,报错: error: storage size of 'ifr' isn't known 多谢阿 | 应该不允许先声明,后定义结构。 struct ifreq ifr; 这句话的上面...
程序中使用了
struct ifreq ifr;
编译选项包含 -std=c99
结果编译时,报错:
error: storage size of 'ifr' isn't known
多谢阿
struct ifreq ifr;
编译选项包含 -std=c99
结果编译时,报错:
error: storage size of 'ifr' isn't known
多谢阿
|
应该不允许先声明,后定义结构。
struct ifreq ifr;
这句话的上面没包含struct ifreq的结构声明吧?
不过,我咋不知道这是C99的标准呢?
struct ifreq ifr;
这句话的上面没包含struct ifreq的结构声明吧?
不过,我咋不知道这是C99的标准呢?
|
[gsm@fedora ~]$ cat -n t.c
1 struct A{int a;};
2 struct A x;
3 int y=sizeof(x);
[gsm@fedora ~]$ gcc -Wall -std=c99 -c t.c
[gsm@fedora ~]$
这里毫无问题。你把相应代码和完整的错误报告粘出来吧
1 struct A{int a;};
2 struct A x;
3 int y=sizeof(x);
[gsm@fedora ~]$ gcc -Wall -std=c99 -c t.c
[gsm@fedora ~]$
这里毫无问题。你把相应代码和完整的错误报告粘出来吧