2015-01-03 16 views
1

문자 통계를 보관할 간단한 구조체를 만들려고했습니다.오류 :이 선언에는 저장소 클래스 나 형식 지정자가 없습니다 (간단한 구조체를 만들었습니다.)

struct cStats 
{ 
    int nStrength; 
    int nIntelligence; 
    int nMedical; 
    int nSpeech; 
    int nAim; 
}; 

cStats mainchar; 
mainchar.nStrength = 10; 
mainchar.nIntelligence = 10; 
mainchar.nMedical = 10; 
mainchar.nSpeech = 10; 
mainchar.nAim = 10; 

mainchar :

이 내가 생각 해낸 것입니다. 부분은 Visual Studio에서 빨간색으로 밑줄이 그어져 있고 위에 마우스를 올려 놓으면 다음과 같이 표시됩니다. 오류 :이 선언에는 저장 클래스 또는 형식 지정자가 없습니다

왜이 작업을 수행하는지, 그리고 내가 수정해야하는 작업에 대한 설명 그것은 인정 될 것이다.

답변

1

이것이 C 인 경우 질문에 태그를 붙여야합니다. cStats은 형식 지정자가 아닌 구조 태그입니다. 당신이 당신의 cStats mainchar이 작동한다고했다면

typedef struct 
{ 
    int nStrength; 
    int nIntelligence; 
    int nMedical; 
    int nSpeech; 
    int nAim; 
} cStats; 

: 당신은 당신이로 정의 할 형식 지정자로 cStats을 사용하고자하는 경우

struct cStats mainchar; 

: 당신은 mainchar를 선언해야합니다.

C에서는 char이며 문자는 "게임이나 게임의 캐릭터"가 아니라 "ASCII 영숫자 문자"를 의미합니다. 나는 당신의 프로그램에 대해 다른 용어를 생각해내는 것이 좋습니다.

또 다른 조언; 자신의 이름 앞에 데이터 유형을 붙이지 마십시오. 정수 강도의 경우 nStrength입니다. 컴파일러는 데이터 유형이 잘못되었을 경우 알려주고 유형을 변경해야 할 경우 (예 : float nStrength) 분수 강도를 처리하기 위해 이름을 변경하는 것이 큰 문제가됩니다.

관련 문제