2012-06-20 2 views
3

Visual C++에서 코드를 작성 중이므로 전역 변수를 사용해야합니다. 나는 그것이 일반적으로 좋은 생각은 아니라는 것을 알고 있지만,이 경우에는 필요합니다. 변수를 만들었고 필요한 함수에서 액세스 할 수 있지만 초기 값을 제공하는 방법을 알 수는 없습니다. 이C++ 전역 변수에 초기 값 제공

extern int lversion; 

같이하고

int lversion; 

처럼 보이는 .cpp 파일에 보이는 .H 파일에

어떻게이 변수 0의 초기 값을 줄 수 있습니까?

+1

나는 주위에 떠있는 모든 전역 변수가 정확히 동일한 정당화가 진행되었다는 느낌을 가지고있다. – PlasmaHH

+0

@PlasmaHH 누군가가 함수에 변수를 전달하기에는 너무 게으른 경우가 아니라면. 그러나 그것은 결코 들어 본 적이없는 게으른 브랜드입니다. 실제로 정적 변수를 선언하는 것이 실제로 필요하다는 것을 발견했기 때문에 실제로 하하가 하나도 필요하지 않습니다. – SSEMember

답변

2

변수 0 초기 값을 가지고있다. 달리 명시되지 않는 한 전역 및 통계는 입니다. 값 초기화 됨입니다.

CPP 파일에서 :

int lversion= 3; 

또는

int lversion(3); 
당신이 다른 값을 원하는 경우에, 당신이 그것을 지정할 수 있습니다

(AN int를 들어, 0 될 것입니다)

이지만 0의 값에 대해서는이 정보가 중요하지 않습니다.

+0

정보를 제공해 주셔서 감사합니다. 도움이되었습니다. – SSEMember

+0

downvote의 이유는 무엇입니까? –

+0

아니야. 너는 매우 도움이되었다. – SSEMember

5

.h 및 .cpp 파일에이 두 행을 각각 추가하면 전역 변수를 초기화 할 수 있습니다.

.H :

extern int Val; 

의 .cpp : 그대로

int Val = 0; 
+0

필요하지 않습니다 ... –

+0

실제로 더 일반적인 방법입니다. 여기에 어떤 값을 설정할 수 있으며, 또한 값을 초기화하는 것을 선호합니다. 명시 적으로 – Andrew

+0

시도했습니다. 그것은 나에게 두 가지 오류를 주었다. 그러나 이미 해결되었으므로, 내가 돌아가고 당신이 정말로 나를 원하지 않는 한 그들이 무엇인지 알아낼 것이라고 생각하지 않습니다. – SSEMember