Statik değişkenin dosya kapsamı vardır. Bir Üstbilgi Dosyasındaki statik değişken
ben ilan ettiler statik değişken hem de static int Var1
demek
- file1.h
- file1.cpp
- file2.h
- file2.cpp: İki aşağıdaki dosyaları var ki başlık dosyaları. Hem
file1.h
hem defile2.h
,main.cpp
dosyasında bulunur.Statik değişkenin dosya kapsamına sahip olacağı için bunu yaptım, böylece birbiriyle çakışmayacak. Fakat derlemeden sonra çakışma olduğunu gördüm.
Artık statik değişken
extern
değişken gibi davranıyor. Diğer yandan, .cpp dosyalarındaki statik değişkeni bildirirsem, iyi derler.Bu davranışı anlayamıyorum.
Bu senaryoda kapsam ve bağlantının nasıl çalıştığını herhangi bir kuruluş açıklayabilir.
İlgili, bkz. [Bir başlık dosyasında adlandırılmamış ad alanı tanımlama] (https://wiki.sei.cmu.edu/confluence/display/cplusplus/DCL59-CPP.+Do+not+define+an+ adsız + ad boşluğu + içinde + a + üstbilgi + dosya) – jww