为什么我在这段代码中出现错误?即使我没有链接但只编译它仍然会给出错误。为什么编译器不考虑它存在于另一个文件中的可能性?谁能解释编译器如何处理 typedef 语句。
提前致谢
typedef struct p* q;
int main()
{
struct p{
int x;
char y;
q ptr;
};
struct p p={1,2,&p};
printf("%d\n",p.ptr->ptr->x);
return 0;
}
ps:对不完整类型的引用是我在 gcc 中遇到的错误。