2012-10-07 4 views
0

프로젝트를 컴파일하려고하는데 헤더 파일에서 오류 (유일한 오류)가 발생했습니다.오류 : 예상 지정자 - 한정자 목록 전에

error: expected specifier-qualifier-list before ‘draw’ 

코드의 잘못된 줄은 여기에서 찾을 수 있습니다 : 나는 그것을 감사하겠습니다 사람이 약간의 통찰력을 줄 수 있다면, 그래서

#include <stdio.h> 
#include <string.h> 
#include <stdlib.h> 
#include <math.h> 

#define LNAME 129 
#define DNUM 17 

typedef struct { 
    char name[LNAME]; 
    double x[DNUM];   
    double y[DNUM];   
    double x_point[DNUM]; 
    double y_point[DNUM]; 
    int draw;     
    draw = 1;       //<< the line GCC references in the error for reference 
    memset(name, 0, sizeof(name)); 
    memset(x, 0, sizeof(x)); 
    memset(y, 0, sizeof(y)); 
} Figure; 

나는 C 오히려 새로운 해요.

+2

이전 부분은 확실하지 않지만 구조체는 함수가 아닙니다. struct 정의에서 함수를 호출 할 수 없습니다. – chris

+1

컴파일러는 거기에 선언을 기대합니다. 그 이유는 struct 정의에서 모두 가질 수 있기 때문입니다. –

+0

오, 와우, 나는'draw = 1;'줄을 완전히 놓쳤다. 나는'int draw;'줄에 주석이 있다고 생각했다. 와우 ... – chris

답변

0

구조체 멤버에게 초기 값을 지정할 수 없습니다. 구조체의 특정 인스턴스에서 모든 멤버를 초기화하는 생성자 함수를 작성해야합니다.

+0

memset을 계속 사용할 수 있습니까? –

+0

@ user1727245 no. 선언 만. 다른 건 없어. –

관련 문제