C false error: dereferencing pointer to incomplete type
<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>