O membro estático da classe const C ++ inicializado fornece um erro de símbolo duplicado ao vincular

Eu tenho uma classe que tem uma matriz const estática, ela deve ser inicializada fora da classe:

class foo{  
static const int array[3];  
};    
const int foo::array[3] = { 1, 2, 3 };

Mas então eu recebo um símbolo duplicado foo :: array em foo.o e main.o foo.o detém a classe foo e main.o detém main () e usa instâncias de foo.
Como posso compartilhar essa matriz const estática entre todas as instâncias de foo? Quero dizer, essa é a ideia de um membro estático.

questionAnswers(1)

yourAnswerToTheQuestion