我有一些必须移植到 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++ 中会出现错误(变量重新声明)。在 C++ 中不允许前向声明变量吗?