Мне нужно поставить статический массив в файл .cpp. Этот массив используется только в этом .cpp, поэтому я хочу объявить его статическим. Определение массива довольно велико, поэтому, естественно, я хочу, чтобы его объявили.
static int bigIntArray[5000];
/* other code using bitIntArray */
static int bigIntArray[5000] = {
0x00, 0x9900, 0xffee,
...
};
VC 9.0 дает ошибку: ошибка C2086: 'int bigIntArray [5000]': redefinition
Если я изменю "статический" на "extern", проблема исчезнет, но мне не нравится это решение.
Почему я не могу переслать объявление статической переменной? Требуется ли это по стандарту С++?