Circular Dependency with forward declaration error
<p>In A.hpp file I have a structure, which has a pointer of B class</p>

<pre><code>struct state
{
    B  *b;
};
</code></pre>

<p>In A.hpp file, I added a forward declaration and I included B.hpp file in A.cpp file</p>

<pre><code>//A.hpp
class B
</code></pre>

<p>In B.hpp file, a function uses the state, which declared in A.hpp as an argument on the function.</p>

<pre><code>bool function_in_b(state *s)
</code></pre>

<p>I also added a forward declaration of A in B.hpp file and I added the header file of A, A.hpp in B.cpp file.</p>

<pre><code>//B.hpp
class A
</code></pre>

<p>All header files have a header guard.
If I try to compile, it won't find 'state' declared in A.hpp.
Thus, it won't find the matching function and complains the candidates are</p>

<pre><code>bool function_in_b(int *) 
</code></pre>

<p>How do I fix this problem?</p>

<p>Thanks in advance</p>
