다른 'x'와는 달리 여기에 유형 오류의 이름을 지정하지 않습니다.이 유형에는 순환 종속성이 포함되어 있다고 생각하지 않지만 여전히 문제가 있습니다. 그것.다른 "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
스택은 이미 matrix_unit 구조체에 대한 포인터의 스택으로 선언되었으므로 유효하지 않아야합니까? 나는 "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
음으로 컴파일하기. 음. 나는 C++ 파일을 포함하고 있습니다. 그게 효과가 있니? g ++로 컴파일 중입니다. – Richard
g ++ 4.6.2에서도 컴파일이 가능합니다. 따라서이 부분 집합에 대한 컴파일러 문제는 아닙니다. 그러나 나는 당신이 당신의 포스트에서 쓴 것을 테스트 할 수만 있습니다. – grifos