2012-10-31 6 views
-1

구문 오류가있는 코드입니다.구조체를 선언 할 때 구문 오류가 발생했습니다.

struct cell{ 
     bool in; 
     bool up; 
     bool left; 
     int prevx, prevy; 
}; 
cell MAZE[xsize][ysize]; 

나에게 잘 보이는이 코드 라인 "전지"에이 오류 나를 반환

error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before 'MAZE' 

당신의 내 실수를 지적 할 수 있습니까?

+0

일관성을 위해 세미콜론으로 구분 된 별도의 줄에 'prevx' 및'prevy' 선언을 사용해서는 안됩니까? –

답변

1

에서 매크로 위해 예약되어 있습니다.

struct cell{ 
     bool in; 
     bool up; 
     bool left; 
     int prevx, prevy; 
}MAZE[xsize][ysize]; 
10

구조체를 선언하는 올바른 방법은 다음과 같습니다

struct cell MAZE[xsize][ysize]; 

당신은이 작업을 수행 할 수 있습니다

C에서
typedef struct { 
    bool in; 
    bool up; 
    bool left; 
    int prevx, prevy; 
} cell; 

cell MAZE[xsize][ysize]; 
2

, 당신이 작성해야합니다 : C에서

struct cell MAZE[xsize][ysize]; 

를 ++ , '자동 typedef'가 있지만 C 언어는 아닙니다.

당신은 또한 다음과 같이 작성할 수있다 :

typedef struct cell cell; 

그런 다음 선언은 (초기 환경되지 않음) 올바른 것입니다.

일반적으로 같은 미로 같은 모든 대문자 이름은 C.

당신도이 작업을 수행 할 수
관련 문제