从此question扩展
我很难理解这段代码。
struct foo myfoo; // --> Is it forward declaration or object creation. ?
struct foo
{
int a;
};
int main()
{
return 0;
}
在标有箭头-->
的代码中,是正向声明还是对象创建。?
如果这是正向声明,那么struct foo;
是什么?如果是对象创建或实例化,那么它如何在结构定义之前创建对象。
在gcc
编译器上,它工作得很好,但其他编译器会给出错误。
gcc -Werror -Wall tst.c -o tst
对gcc
的这种行为有什么建议或解释吗?我在任何地方都找不到记录在案的它。
https://stackoverflow.com/questions/13627974
复制相似问题