title: Forward declarations for variables?
body: <p>I have some C code that I have to port to C++. The code has a structure</p>
  
  <pre><code>struct A { 
      ...
      struct A * myPtr;
  }
  </code></pre>
  
  <p>And now two global arrays are declared and initialized like this:</p>
  
  <pre><code>//Forward declaration of Unit
  struct A Unit[10];
  
  struct A* ptrUnit[2] = { Unit, Unit+7 };
  struct A Unit[10] = { { .., &amp;ptrUnit[0] }, 
                        ... };
  </code></pre>
  
  <p>Now while this works fine in C, it gives an error in C++ (variable redeclared).
  Aren't variables allowed to be forward-declared in C++? </p>