Статический константный инициализированный член класса C ++ выдает ошибку двойного символа при компоновке

У меня есть класс, который имеет статический массив const, он должен быть инициализирован вне класса:

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

Но затем я получаю дубликат символа foo :: array в foo.o и main.o foo.o содержит класс foo, а main.o содержит main () и использует экземпляры foo.
Как я могу разделить этот статический константный массив между всеми экземплярами foo? Я имею в виду, что это идея статического члена.

Ответы на вопрос(1)

Ваш ответ на вопрос