0
他の多くの 'x'とは異なり、ここにタイプエラーの名前は付けませんが、これは循環依存関係は含まれていませんが、それを出す。スタックは、すでに構造体をmatrix_unitへのポインタのスタックとして宣言されているのでもう1つの "x"はタイプエラーの名前ではありません
typedef struct /* structure definitions */
{
float mat[4][4];
} matrix_unit;
matrix_unit I = {
{ 1., 0., 0., 0.,
0., 1., 0., 0.,
0., 0., 1., 0.,
0., 0., 0., 1 },
};
matrix_unit *stack[50]; /* (line 456) array of pointers to act as a stack */
matrix_unit stackbase = I;
stack[0] = &stackbase; // 'stack' does not name a type
、これは有効ではないでしょうか?
私は「gccの-c 3D.c」でコードをコンパイルすると、私はこれらの行から次のエラーを取得:助けを事前に
3D.c:457:1: error: initializer element is not constant
3D.c:458:1: warning: data definition has no type or storage class
3D.c:458:1: error: conflicting types for ‘stack’
3D.c:456:14: note: previous declaration of ‘stack’ was here
3D.c:458:1: error: invalid initializer
感謝を。
gccでうまくコンパイルします。4.6.2 – grifos
Hmm ..まあ、私はC++ファイルからインクルードしています。それは何に影響を与えるべきか?私はg ++でそれをコンパイルしています – Richard
g ++ 4.6.2でもコンパイルできます。したがって、これはこのサブセットのコンパイラの問題ではありません。しかし、私はあなたの投稿に書いたものだけをテストすることができました。 – grifos