Форвардные объявления для переменных?

У меня есть некоторый код C, который я должен перенести на C ++. Код имеет структуру

struct A { 
    ...
    struct A * myPtr;
}

И теперь два глобальных массива объявляются и инициализируются следующим образом:

//Forward declaration of Unit
struct A Unit[10];

struct A* ptrUnit[2] = { Unit, Unit+7 };
struct A Unit[10] = { { .., &ptrUnit[0] }, 
                      ... };

Теперь, хотя в C это работает нормально, в C ++ выдается ошибка (переменная redeclared). Разве переменные не могут быть объявлены в C ++?

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

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