0
我试图向前声明一个类与_ 可以 _alias属性,但是当我试图这样做GCC给出了一个错误:GCC向前声明和__may__alias
struct __attribute__((__may_alias__)) MyType;
MyType* foo();
typedef struct __attribute__((__may_alias__)) MyType { ... } MyType;
MyType* foo() {}
给出了错误: testc.c:4:错误:1:注:typedef的 'A'
testc.c的重新定义的 'A' 先前的声明在这里
testc.c:5:错误:冲突的类型 '富'
testc.c:2:注意:之前的'foo'声明在这里
有没有办法做到这一点?
对不起,我修复了我的代码,使其具有适当的属性,而不是用于生成它的宏。这可能会让你感到困惑。 – 2010-10-05 20:38:03
@Nathaniel:好的,更清楚,相应地编辑我的回复 – 2010-10-05 21:16:59