Хорошо, странное время вопроса!
Я рефакторинг некоторого старого кода C ++, который объявляет кучу массивов, например, так:
static SomeStruct SomeStructArray[] = {
{1, 2, 3},
{4, 5, 6},
{NULL, 0, 0}
}
И так далее. Они разбросаны по исходным файлам и используются там, где они объявлены.
Однако я хотел бы переместить их в один исходный файл (в основном потому, что я придумал способ их автоматической генерации). И, конечно, я наивно пытаюсь сделать для них заголовок:
static SomeStruct SomeStructArray[];
На самом деле, даже я знаю, что это неправильно, но в любом случае вот ошибка компилятора:
error C2133: 'SomeStructArray' : unknown size arrays.h
error C2086: 'SomeStruct SomeStructArray[]' : redefinition arrays.cpp
Итак, я думаю, как правильно это сделать?