Variável estática em um arquivo de cabeçalho
A variável estática tem escopo de arquivo. Digamos que eu tenha dois arquivos a seguir:
Eu declarei variável estática dizerstatic int Var1
nos dois arquivos de cabeçalho. Ambosfile1.h
efile2.h
estão incluídos nomain.cpp
Arquivo.
Fiz isso porque a variável estática terá escopo de arquivo, para que não entre em conflito. Mas após a compilação, descobri que está mostrando conflito.
Agora a variável estática está se comportando como umextern
variável. Por outro lado, se eu declarar a variável estática nos dois arquivos .cpp, ela compila bem.
Não consigo entender esse comportamento.
Qualquer organismo pode explicar como o escopo e a ligação estão funcionando neste cenário.