title: C false error: dereferencing pointer to incomplete type
body: <p>in my project i have three files: PlayBoard.c, Board. c, Board.h, who's relevant parts appear bellow. within PlayBoard i have theBoard which is a pointer to a variable of type struct Board. 
  when trying to compile i constantly get a "dereferencing pointer to incomplete type".
  moving Board's definition to Board.h helps, but is not possible (it's a homework question), so i need another way.</p>
  
  <p>PlayBoard.c:</p>
  
  <pre><code>#include "Board.h"
  #include &lt;assert.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;  
  ...
  int main()
  {
  BoardP theBoard =//creation of new Board;
   ...
  }
  </code></pre>
  
  <p>Board.h:</p>
  
  <pre><code>#ifndef BOARD_H
  #define BOARD_H
  
  
  // ------------------------------ includes ------------------------------
  
  #include &lt;stdbool.h&gt;
  #include &lt;stdio.h&gt;
  
  // --------------------------  definitions -------------------------
  
   /**
    * A pointer to Gomoku table.
   *
   */
  
  
  typedef struct Board* BoardP;
  /**
    * A struct of a Gomoku table.
    */
  typedef const struct Board* ConstBoardP;
  
  ...
  
  #endif
  </code></pre>
  
  <p>and Board.c:</p>
  
  <pre><code>#ifndef BOARD_C
  #define BOARD_C
  
  #include "Board.h"
  
  
  typedef struct Board
  {
      char **_board;
      int _cols;
      int _rows;
      bool _turn;
      int _xCounter;
      int _oCounter;
      int _lastx;
      int _lasty;
  
  } Board;
  
  ...
  #endif
  </code></pre>