Статическая переменная имеет файловую область видимости. Скажем, у меня есть два следующих файла:
Я объявил статическую переменную say static int Var1
в оба файла заголовков. И file1.h
, и file2.
Но после компиляции я обнаружил, что он показывает конфликт.
Теперь статическая переменная ведет себя как переменная extern
. С другой стороны, если я объявляю статическую переменную в обоих файлах .cpp, она хорошо компилируется.
Я не могу понять это поведение.
Может ли кто-нибудь объяснить, как область действия и связь работают в этом сценарии.