2012-06-20 60 views
3

我在Visual C++中編寫代碼,我需要使用一個全局變量。我知道這通常不是一個好主意,但在這種情況下,這是必要的。我已經創建了變量,它可以從需要它的函數訪問,但我無法弄清楚如何給它一個初始值。C++給一個全局變量初始值

在.h文件,它看起來像

extern int lversion; 

和它看起來像

int lversion; 

.cpp文件

我怎能捨棄這個變量的初始值爲0?

+1

我不知何故有一種感覺,即所有浮動的全局變量都具有完全相同的理由...... – PlasmaHH

+0

@PlasmaHH除非有人懶得將變量傳遞給函數。但那是我從來沒有聽說過的一些懶惰品牌。我發現我實際需要的是聲明一個靜態變量,所以事實證明我實際上並不需要一個哈哈。 – SSEMember

回答

2

變量確實具有初始值0原樣。除非另有說明,否則全局和靜態值爲初始化值爲。 (對於int,這將是0

如果你需要的任何其他值,你可以指定它:

CPP文件:

int lversion= 3; 

int lversion(3); 

但值爲0沒有意義的是這個詳細。

+0

感謝您的信息。它有幫助。 – SSEMember

+0

downvote的原因是什麼? –

+0

不是我。你非常有幫助。 – SSEMember

5

將這兩行分別添加到.h和.cpp文件中將允許您初始化全局變量。

.H:

extern int Val; 

的.cpp:

int Val = 0; 
+0

沒有必要... –

+0

這實際上是更一般的方法。你可以在這裏設置任何值,並且我優先初始化顯式值 – Andrew

+0

我試過了。它給了我兩個錯誤。然而,它已經解決了,所以我不認爲我會回去弄清楚他們是什麼,除非你真的想要我。 – SSEMember