title: error C2016: C requires that a struct or union has at least one member from struct
body: <p>When I do something like this with 2 header files: headerfile_1.h and headerfile_2.h
  I get error: error C2016: C requires that a struct or union has at least one member from struct A definition in headerfile_1.h</p>
  
  <p>In headerfile_1.h</p>
  
  <pre><code>#include "headerfile_2.h"
  struct a;
  
  struct a{
      B bb;
  }A;
  </code></pre>
  
  <p>In headerfile_2.h</p>
  
  <pre><code>typedef struct b{
    void (*func0)(A *aa);
  }B;
  </code></pre>
  
  <p>Please help me understand, where am I going wrong. Thanks.</p>