このコードでエラーが発生するのはなぜですか?リンクせずにコンパイルするだけでもエラーが発生します。コンパイラが別のファイルに存在する可能性を考慮しないのはなぜですか?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で取得するエラーです。