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:

file1.hfile1.cppfile2.hfile2.cpp

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.

questionAnswers(3)

yourAnswerToTheQuestion